home *** CD-ROM | disk | FTP | other *** search
Unknown | 1994-07-14 | 18.1 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| Jesper Olsen Module (music/jesperOlsen)
| magic
| Supported |
1%
| dexvert
| TTComp Archive (archive/ttcomp)
| fallback
| Supported |
100%
| file
| TTComp archive data, binary, 2K dictionary
| default (weak)
| |
99%
| file
| data
| default
| |
66%
| TrID
| TTComp archive compressed (bin-2K)
| default (weak)
| |
33%
| TrID
| Adobe PhotoShop Brush
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 00 01 00 00 00 1a | 00 00 00 00 00 00 00 1a |........|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 05 00 05 00 00 |........|........|
|00000030| 00 22 00 00 09 65 00 00 | 00 22 61 32 36 44 00 00 |."...e..|."a26D..|
|00000040| 4e 16 00 00 20 19 00 00 | 00 00 00 00 00 00 00 00 |N... ...|........|
|00000050| 00 00 08 4e 65 77 43 68 | 69 6c 64 00 00 06 00 00 |...NewCh|ild.....|
|00000060| 00 00 00 bf 00 00 09 66 | 00 00 00 bf 00 00 00 14 |.......f|........|
|00000070| 03 c1 00 28 05 7e 00 ff | 00 00 00 00 00 00 0f a8 |...(.~..|........|
|00000080| 00 00 00 00 4e 1c 00 00 | 00 09 00 00 00 04 00 04 |....N...|........|
|00000090| ff fc ff fa 00 04 00 04 | ff fc ff fc 00 00 00 00 |........|........|
|000000a0| 00 00 00 00 83 00 0b 40 | 10 6b 53 63 72 65 65 6e |.......@|.kScreen|
|000000b0| 41 50 49 2f 31 39 39 39 | 36 00 06 47 65 6e 65 76 |API/1999|6..Genev|
|000000c0| 61 00 00 65 54 72 65 65 | 4f 62 6a 48 6e 64 6c 20 |a..eTree|ObjHndl |
|000000d0| 4e 65 77 43 68 69 6c 64 | 28 73 68 6f 72 74 20 65 |NewChild|(short e|
|000000e0| 64 69 74 54 79 70 65 2c | 20 54 72 65 65 4f 62 6a |ditType,| TreeObj|
|000000f0| 48 6e 64 6c 20 70 61 72 | 65 6e 74 48 6e 64 6c 2c |Hndl par|entHndl,|
|00000100| 20 73 68 6f 72 74 20 63 | 68 69 6c 64 4e 75 6d 2c | short c|hildNum,|
|00000110| 20 73 68 6f 72 74 20 63 | 74 79 70 65 2c 20 6c 6f | short c|type, lo|
|00000120| 6e 67 20 73 69 7a 65 29 | 3b 00 00 00 06 00 00 00 |ng size)|;.......|
|00000130| 00 00 ac 00 00 09 67 00 | 00 00 ac 00 00 00 00 03 |......g.|........|
|00000140| c1 00 14 05 7e 00 ff 00 | 00 00 00 00 00 0f a8 00 |....~...|........|
|00000150| 00 00 00 4e 1d 00 00 00 | 09 00 00 00 04 00 04 ff |...N....|........|
|00000160| fc ff fa 00 04 00 04 ff | fc ff fc 00 00 00 00 00 |........|........|
|00000170| 00 00 00 83 00 0b 40 14 | 6b 53 63 72 65 65 6e 4f |......@.|kScreenO|
|00000180| 6e 65 4c 69 6e 65 2f 31 | 39 39 39 37 00 06 47 65 |neLine/1|9997..Ge|
|00000190| 6e 65 76 61 00 00 4e 43 | 72 65 61 74 65 73 20 61 |neva..NC|reates a|
|000001a0| 20 63 68 69 6c 64 20 6f | 66 20 73 70 65 63 69 66 | child o|f specif|
|000001b0| 69 65 64 20 74 79 70 65 | 20 61 6e 64 20 61 64 64 |ied type| and add|
|000001c0| 73 20 69 74 20 74 6f 20 | 70 61 72 65 6e 74 20 61 |s it to |parent a|
|000001d0| 74 20 73 70 65 63 69 66 | 69 65 64 20 6c 6f 63 61 |t specif|ied loca|
|000001e0| 74 69 6f 6e 2e 00 00 00 | 06 00 00 00 00 00 44 00 |tion....|......D.|
|000001f0| 00 09 68 00 00 00 44 00 | 00 00 00 02 6b 04 40 02 |..h...D.|....k.@.|
|00000200| 6c 01 00 00 00 00 00 00 | 01 0f f1 00 00 00 00 00 |l.......|........|
|00000210| 00 00 00 00 0c 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 06 00 00 00 |........|........|
|00000240| 00 01 80 00 00 09 69 00 | 00 01 80 00 00 00 00 02 |......i.|........|
|00000250| 6b 02 28 03 c1 00 ff 00 | 00 00 00 00 00 0f a8 00 |k.(.....|........|
|00000260| 00 00 00 4e 16 00 00 00 | 09 00 00 00 04 00 04 ff |...N....|........|
|00000270| fc ff fa 00 04 00 04 ff | fc ff fc 00 00 00 00 00 |........|........|
|00000280| 00 00 00 83 00 0b 40 0b | 6c 69 6e 6b 73 2f 31 39 |......@.|links/19|
|00000290| 39 39 30 00 06 4d 6f 6e | 61 63 6f 00 01 15 61 31 |990..Mon|aco...a1|
|000002a0| 30 35 2c 41 64 6a 75 73 | 74 44 61 74 61 53 69 7a |05,Adjus|tDataSiz|
|000002b0| 65 0d 61 31 35 39 2c 43 | 6f 70 79 43 68 69 6c 64 |e.a159,C|opyChild|
|000002c0| 0d 61 31 42 31 2c 44 69 | 73 70 6f 73 65 43 68 69 |.a1B1,Di|sposeChi|
|000002d0| 6c 64 0d 61 31 44 41 2c | 44 6f 4e 75 6d 62 65 72 |ld.a1DA,|DoNumber|
|000002e0| 54 72 65 65 0d 61 31 45 | 33 2c 44 6f 54 72 65 65 |Tree.a1E|3,DoTree|
|000002f0| 4f 62 6a 4d 65 74 68 6f | 64 0d 61 32 30 38 2c 47 |ObjMetho|d.a208,G|
|00000300| 65 74 43 68 69 6c 64 48 | 6e 64 6c 0d 61 32 31 31 |etChildH|ndl.a211|
|00000310| 2c 47 65 74 44 61 74 61 | 50 74 72 0d 61 32 34 32 |,GetData|Ptr.a242|
|00000320| 2c 48 6e 64 6c 32 49 44 | 0d 61 32 34 39 2c 49 44 |,Hndl2ID|.a249,ID|
|00000330| 32 48 6e 64 6c 0d 61 32 | 36 41 2c 4d 6f 64 69 66 |2Hndl.a2|6A,Modif|
|00000340| 79 43 68 69 6c 64 0d 61 | 32 36 42 2c 4d 6f 76 65 |yChild.a|26B,Move|
|00000350| 43 68 69 6c 64 0d 61 32 | 36 44 2c 4e 65 77 43 68 |Child.a2|6D,NewCh|
|00000360| 69 6c 64 0d 61 32 37 31 | 2c 4e 65 77 52 6f 6f 74 |ild.a271|,NewRoot|
|00000370| 4f 62 6a 0d 61 32 37 32 | 2c 4e 65 77 55 6e 64 6f |Obj.a272|,NewUndo|
|00000380| 0d 61 32 42 43 2c 53 65 | 74 44 61 74 61 53 69 7a |.a2BC,Se|tDataSiz|
|00000390| 65 0d 61 32 43 45 2c 53 | 6c 69 64 65 44 61 74 61 |e.a2CE,S|lideData|
|000003a0| 0d 61 32 44 35 2c 53 77 | 61 70 43 68 69 6c 64 72 |.a2D5,Sw|apChildr|
|000003b0| 65 6e 0d 00 16 00 01 00 | 00 00 00 00 10 00 0c 00 |en......|........|
|000003c0| 01 00 00 00 00 00 00 00 | 00 00 00 00 06 00 00 00 |........|........|
|000003d0| 00 44 93 00 00 09 6a 00 | 00 44 93 00 00 00 00 00 |.D....j.|.D......|
|000003e0| 00 75 30 02 6b 01 ff 00 | 00 00 00 00 00 0f a8 00 |.u0.k...|........|
|000003f0| 00 00 00 4e 1f 00 00 00 | 09 00 00 00 04 00 04 ff |...N....|........|
|00000400| fc ff fa 00 04 00 04 ff | fc ff fc 00 00 00 00 00 |........|........|
|00000410| 00 00 00 83 00 0b 40 0a | 62 6f 64 79 2f 31 39 39 |......@.|body/199|
|00000420| 39 39 00 06 4d 6f 6e 61 | 63 6f 00 3c 31 54 72 65 |99..Mona|co.<1Tre|
|00000430| 65 4f 62 6a 48 6e 64 6c | 20 4e 65 77 43 68 69 6c |eObjHndl| NewChil|
|00000440| 64 28 73 68 6f 72 74 20 | 65 64 69 74 54 79 70 65 |d(short |editType|
|00000450| 2c 20 54 72 65 65 4f 62 | 6a 48 6e 64 6c 20 70 61 |, TreeOb|jHndl pa|
|00000460| 72 65 6e 74 48 6e 64 6c | 2c 20 73 68 6f 72 74 20 |rentHndl|, short |
|00000470| 63 68 69 6c 64 4e 75 6d | 2c 20 73 68 6f 72 74 20 |childNum|, short |
|00000480| 63 74 79 70 65 2c 20 6c | 6f 6e 67 20 73 69 7a 65 |ctype, l|ong size|
|00000490| 29 3b 0d 0d 43 72 65 61 | 74 65 73 20 61 20 63 68 |);..Crea|tes a ch|
|000004a0| 69 6c 64 20 6f 66 20 73 | 70 65 63 69 66 69 65 64 |ild of s|pecified|
|000004b0| 20 74 79 70 65 20 61 6e | 64 20 61 64 64 73 20 69 | type an|d adds i|
|000004c0| 74 20 74 6f 20 70 61 72 | 65 6e 74 20 61 74 20 73 |t to par|ent at s|
|000004d0| 70 65 63 69 66 69 65 64 | 20 6c 6f 63 61 74 69 6f |pecified| locatio|
|000004e0| 6e 2e 0d 52 65 74 75 72 | 6e 73 20 6e 69 6c 20 75 |n..Retur|ns nil u|
|000004f0| 70 6f 6e 20 66 61 69 6c | 75 72 65 2e 0d 0d 4e 65 |pon fail|ure...Ne|
|00000500| 77 43 68 69 6c 64 20 69 | 73 20 6f 6e 65 20 6f 66 |wChild i|s one of|
|00000510| 20 73 69 78 20 6f 70 65 | 72 61 74 69 6f 6e 73 20 | six ope|rations |
|00000520| 74 68 61 74 20 63 61 6e | 20 62 65 20 64 6f 6e 65 |that can| be done|
|00000530| 20 74 6f 20 61 20 68 69 | 65 72 61 72 63 68 69 63 | to a hi|erarchic|
|00000540| 61 6c 20 64 6f 63 75 6d | 65 6e 74 20 74 68 61 74 |al docum|ent that|
|00000550| 20 68 61 73 20 61 75 74 | 6f 6d 61 74 69 63 0d 75 | has aut|omatic.u|
|00000560| 6e 64 6f 2f 72 65 64 6f | 20 73 75 70 70 6f 72 74 |ndo/redo| support|
|00000570| 2e 20 20 54 68 65 20 73 | 69 78 20 6f 70 65 72 61 |. The s|ix opera|
|00000580| 74 69 6f 6e 73 20 61 72 | 65 3a 0d 0d 20 20 20 20 |tions ar|e:.. |
|00000590| 4e 65 77 43 68 69 6c 64 | 0d 20 20 20 20 44 69 73 |NewChild|. Dis|
|000005a0| 70 6f 73 65 43 68 69 6c | 64 0d 20 20 20 20 43 6f |poseChil|d. Co|
|000005b0| 70 79 43 68 69 6c 64 0d | 20 20 20 20 4d 6f 76 65 |pyChild.| Move|
|000005c0| 43 68 69 6c 64 0d 20 20 | 20 20 4d 6f 64 69 66 79 |Child. | Modify|
|000005d0| 43 68 69 6c 64 0d 20 20 | 20 20 53 77 61 70 43 68 |Child. | SwapCh|
|000005e0| 69 6c 64 72 65 6e 0d 0d | 54 68 65 73 65 20 73 69 |ildren..|These si|
|000005f0| 78 20 6f 70 65 72 61 74 | 69 6f 6e 73 20 63 6f 76 |x operat|ions cov|
|00000600| 65 72 20 74 68 65 20 76 | 61 72 69 6f 75 73 20 6f |er the v|arious o|
|00000610| 70 65 72 61 74 69 6f 6e | 73 20 74 68 61 74 20 63 |peration|s that c|
|00000620| 61 6e 20 62 65 20 70 65 | 72 66 6f 72 6d 65 64 20 |an be pe|rformed |
|00000630| 74 6f 20 6f 6e 65 20 6f | 72 20 6d 6f 72 65 20 6f |to one o|r more o|
|00000640| 66 20 74 68 65 0d 64 6f | 63 75 6d 65 6e 74 20 6f |f the.do|cument o|
|00000650| 62 6a 65 63 74 73 2e 20 | 20 43 68 69 6c 64 72 65 |bjects. | Childre|
|00000660| 6e 20 63 61 6e 20 62 65 | 20 61 64 64 65 64 2c 20 |n can be| added, |
|00000670| 72 65 6d 6f 76 65 64 2c | 20 63 6f 70 69 65 64 2c |removed,| copied,|
|00000680| 20 6d 6f 76 65 64 2c 20 | 6d 6f 64 69 66 69 65 64 | moved, |modified|
|00000690| 2c 20 6f 72 20 73 77 61 | 70 70 65 64 2e 20 20 49 |, or swa|pped. I|
|000006a0| 66 20 74 68 65 73 65 0d | 63 61 6c 6c 73 20 61 72 |f these.|calls ar|
|000006b0| 65 20 75 73 65 64 20 74 | 6f 20 6d 6f 64 69 66 79 |e used t|o modify|
|000006c0| 20 6f 62 6a 65 63 74 73 | 20 77 69 74 68 69 6e 20 | objects| within |
|000006d0| 74 68 65 20 64 6f 63 75 | 6d 65 6e 74 20 68 69 65 |the docu|ment hie|
|000006e0| 72 61 72 63 68 79 2c 20 | 74 68 65 6e 20 74 68 65 |rarchy, |then the|
|000006f0| 20 65 64 69 74 69 6e 67 | 20 6f 70 65 72 61 74 69 | editing| operati|
|00000700| 6f 6e 73 20 64 6f 6e 65 | 20 74 6f 0d 74 68 65 20 |ons done| to.the |
|00000710| 64 6f 63 75 6d 65 6e 74 | 20 63 61 6e 20 61 75 74 |document| can aut|
|00000720| 6f 6d 61 74 69 63 61 6c | 6c 79 20 62 65 20 72 65 |omatical|ly be re|
|00000730| 63 6f 72 64 65 64 20 66 | 6f 72 20 75 6e 64 6f 2f |corded f|or undo/|
|00000740| 72 65 64 6f 20 70 75 72 | 70 6f 73 65 73 2e 0d 0d |redo pur|poses...|
|00000750| 54 6f 20 62 65 74 74 65 | 72 20 75 6e 64 65 72 73 |To bette|r unders|
|00000760| 74 61 6e 64 20 74 68 65 | 20 68 69 65 72 61 72 63 |tand the| hierarc|
|00000770| 68 69 63 61 6c 20 64 6f | 63 75 6d 65 6e 74 20 61 |hical do|cument a|
|00000780| 72 63 68 69 74 65 63 74 | 75 72 65 2c 20 77 65 20 |rchitect|ure, we |
|00000790| 77 69 6c 6c 20 74 61 6c | 6b 20 61 62 6f 75 74 20 |will tal|k about |
|000007a0| 6d 6f 72 65 20 74 68 61 | 6e 20 6a 75 73 74 0d 4e |more tha|n just.N|
|000007b0| 65 77 43 68 69 6c 64 20 | 68 65 72 65 2e 20 20 53 |ewChild |here. S|
|000007c0| 69 6e 63 65 20 6d 61 6e | 79 20 6f 66 20 74 68 65 |ince man|y of the|
|000007d0| 20 66 75 6e 63 74 69 6f | 6e 20 69 6e 74 65 72 2d | functio|n inter-|
|000007e0| 72 65 6c 61 74 65 2c 20 | 69 74 20 69 73 20 62 65 |relate, |it is be|
|000007f0| 73 74 20 74 6f 20 64 69 | 73 63 75 73 73 20 74 68 |st to di|scuss th|
|00000800| 65 6d 20 69 6e 20 61 20 | 67 72 6f 75 70 0d 61 74 |em in a |group.at|
|00000810| 20 73 6f 6d 65 20 70 6f | 69 6e 74 2e 0d 0d 4c 6f | some po|int...Lo|
|00000820| 6f 6b 69 6e 67 20 61 74 | 20 61 20 73 61 6d 70 6c |oking at| a sampl|
|00000830| 65 20 4e 65 77 43 68 69 | 6c 64 20 63 61 6c 6c 20 |e NewChi|ld call |
|00000840| 61 6e 64 20 69 74 73 20 | 70 72 6f 74 6f 74 79 70 |and its |prototyp|
|00000850| 65 2c 20 77 65 20 68 61 | 76 65 3a 0d 0d 4e 65 77 |e, we ha|ve:..New|
|00000860| 43 68 69 6c 64 2c 20 69 | 66 20 73 75 63 63 65 73 |Child, i|f succes|
|00000870| 73 66 75 6c 2c 20 72 65 | 74 75 72 6e 73 20 61 20 |sful, re|turns a |
|00000880| 68 61 6e 64 6c 65 20 66 | 6f 72 20 74 68 65 20 63 |handle f|or the c|
|00000890| 68 69 6c 64 20 6f 62 6a | 65 63 74 20 61 64 64 65 |hild obj|ect adde|
|000008a0| 64 20 74 6f 20 74 68 65 | 20 64 6f 63 75 6d 65 6e |d to the| documen|
|000008b0| 74 2e 0d 0d 54 68 65 20 | 70 61 72 61 6d 65 74 65 |t...The |paramete|
|000008c0| 72 73 20 61 72 65 3a 0d | 20 20 20 20 65 64 69 74 |rs are:.| edit|
|000008d0| 54 79 70 65 3a 20 20 20 | 41 70 70 6c 69 63 61 74 |Type: |Applicat|
|000008e0| 69 6f 6e 20 65 64 69 74 | 20 74 79 70 65 20 66 6f |ion edit| type fo|
|000008f0| 72 20 77 68 69 63 68 20 | 74 68 69 73 20 64 6f 63 |r which |this doc|
|00000900| 75 6d 65 6e 74 20 6d 6f | 64 69 66 69 63 61 74 69 |ument mo|dificati|
|00000910| 6f 6e 20 69 73 20 62 65 | 69 6e 67 20 64 6f 6e 65 |on is be|ing done|
|00000920| 2e 0d 20 20 20 20 70 61 | 72 65 6e 74 48 6e 64 6c |.. pa|rentHndl|
|00000930| 3a 20 54 68 65 20 63 68 | 69 6c 64 20 63 72 65 61 |: The ch|ild crea|
|00000940| 74 65 64 20 77 69 6c 6c | 20 62 65 20 61 64 64 65 |ted will| be adde|
|00000950| 64 20 61 73 20 61 20 63 | 68 69 6c 64 20 74 6f 20 |d as a c|hild to |
|00000960| 74 68 69 73 20 6f 62 6a | 65 63 74 2e 0d 20 20 20 |this obj|ect.. |
|00000970| 20 63 68 69 6c 64 4e 75 | 6d 3a 20 20 20 54 68 65 | childNu|m: The|
|00000980| 20 63 68 69 6c 64 20 77 | 69 6c 6c 20 62 65 20 61 | child w|ill be a|
|00000990| 64 64 65 64 20 74 6f 20 | 74 68 65 20 70 61 72 65 |dded to |the pare|
|000009a0| 6e 74 20 61 73 20 74 68 | 69 73 20 63 68 69 6c 64 |nt as th|is child|
|000009b0| 20 6e 75 6d 62 65 72 2e | 0d 20 20 20 20 63 74 79 | number.|. cty|
|000009c0| 70 65 3a 20 20 20 20 20 | 20 54 68 65 20 63 68 69 |pe: | The chi|
|000009d0| 6c 64 20 77 69 6c 6c 20 | 62 65 20 6f 66 20 74 68 |ld will |be of th|
|000009e0| 69 73 20 74 79 70 65 2e | 0d 20 20 20 20 73 69 7a |is type.|. siz|
|000009f0| 65 3a 20 20 20 20 20 20 | 20 54 68 65 20 63 68 69 |e: | The chi|
|00000a00| 6c 64 20 77 69 6c 6c 20 | 62 65 20 63 72 65 61 74 |ld will |be creat|
|00000a10| 65 64 20 74 68 69 73 20 | 69 6e 69 74 69 61 6c 20 |ed this |initial |
|00000a20| 73 69 7a 65 20 28 69 66 | 20 73 69 7a 65 20 69 73 |size (if| size is|
|00000a30| 20 67 72 65 61 74 65 72 | 20 74 68 61 6e 20 6d 69 | greater| than mi|
|00000a40| 6e 69 6d 75 6d 29 2e 0d | 0d 4e 65 77 43 68 69 6c |nimum)..|.NewChil|
|00000a50| 64 20 6d 75 73 74 20 68 | 61 76 65 20 61 20 70 61 |d must h|ave a pa|
|00000a60| 72 65 6e 74 20 64 65 63 | 6c 61 72 65 64 2e 20 20 |rent dec|lared. |
|00000a70| 54 68 69 73 20 62 65 67 | 73 20 74 68 65 20 71 75 |This beg|s the qu|
|00000a80| 65 73 74 69 6f 6e 20 6f | 66 20 77 68 65 72 65 20 |estion o|f where |
|00000a90| 74 68 65 20 69 6e 69 74 | 69 61 6c 20 70 61 72 65 |the init|ial pare|
|00000aa0| 6e 74 20 63 6f 6d 65 73 | 20 66 72 6f 6d 2e 0d 41 |nt comes| from..A|
|00000ab0| 74 20 73 6f 6d 65 20 70 | 6f 69 6e 74 2c 20 4e 65 |t some p|oint, Ne|
|00000ac0| 77 52 6f 6f 74 4f 62 6a | 20 6d 75 73 74 20 62 65 |wRootObj| must be|
|00000ad0| 20 63 61 6c 6c 65 64 20 | 74 6f 20 63 72 65 61 74 | called |to creat|
|00000ae0| 65 20 74 68 65 20 69 6e | 69 74 69 61 6c 20 72 6f |e the in|itial ro|
|00000af0| 6f 74 20 70 61 72 65 6e | 74 2e 20 20 41 73 20 77 |ot paren|t. As w|
|00000b00| 6f 75 6c 64 20 62 65 20 | 65 78 70 65 63 74 65 64 |ould be |expected|
|00000b10| 2c 0d 74 68 65 20 72 6f | 6f 74 20 6f 62 6a 65 63 |,.the ro|ot objec|
|00000b20| 74 20 68 61 73 20 6e 6f | 20 70 61 72 65 6e 74 2e |t has no| parent.|
|00000b30| 20 20 4f 6e 63 65 20 74 | 68 65 72 65 20 69 73 20 | Once t|here is |
|00000b40| 61 6e 20 69 6e 69 74 69 | 61 6c 20 72 6f 6f 74 20 |an initi|al root |
|00000b50| 6f 62 6a 65 63 74 2c 20 | 63 68 69 6c 64 72 65 6e |object, |children|
|00000b60| 20 63 61 6e 20 74 68 65 | 6e 20 62 65 20 61 64 64 | can the|n be add|
|00000b70| 65 64 20 74 6f 0d 74 68 | 65 20 64 6f 63 75 6d 65 |ed to.th|e docume|
|00000b80| 6e 74 20 76 69 61 20 4e | 65 77 43 68 69 6c 64 2e |nt via N|ewChild.|
|00000b90| 0d 0d 54 68 65 20 65 64 | 69 74 54 79 70 65 20 6f |..The ed|itType o|
|00000ba0| 66 20 74 68 65 20 4e 65 | 77 43 68 69 6c 64 20 63 |f the Ne|wChild c|
|00000bb0| 61 6c 6c 20 69 73 20 75 | 73 65 64 20 66 6f 72 20 |all is u|sed for |
|00000bc0| 61 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 74 72 |automati|cally tr|
|00000bd0| 61 63 6b 69 6e 67 20 75 | 6e 64 6f 2f 72 65 64 6f |acking u|ndo/redo|
|00000be0| 2e 20 20 4d 61 6e 79 20 | 69 6e 64 69 76 69 64 75 |. Many |individu|
|00000bf0| 61 6c 0d 6f 70 65 72 61 | 74 69 6f 6e 73 20 6d 61 |al.opera|tions ma|
|00000c00| 79 20 62 65 20 64 6f 6e | 65 20 74 6f 20 74 68 65 |y be don|e to the|
|00000c10| 20 64 6f 63 75 6d 65 6e | 74 20 74 68 61 74 20 61 | documen|t that a|
|00000c20| 72 65 20 61 6c 6c 20 66 | 6f 72 20 74 68 65 20 73 |re all f|or the s|
|00000c30| 61 6d 65 20 65 64 69 74 | 69 6e 67 20 6f 70 65 72 |ame edit|ing oper|
|00000c40| 61 74 69 6f 6e 2e 20 20 | 4c 65 74 27 73 20 73 61 |ation. |Let's sa|
|00000c50| 79 20 74 68 61 74 0d 79 | 6f 75 20 68 61 76 65 20 |y that.y|ou have |
|00000c60| 61 20 77 6f 72 64 2d 70 | 72 6f 63 65 73 73 6f 72 |a word-p|rocessor|
|00000c70| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 20 74 68 61 | applica|tion tha|
|00000c80| 74 20 68 61 73 20 70 61 | 72 61 67 72 61 70 68 20 |t has pa|ragraph |
|00000c90| 6f 62 6a 65 63 74 73 2e | 20 20 49 66 20 79 6f 75 |objects.| If you|
|00000ca0| 72 20 64 6f 63 75 6d 65 | 6e 74 20 68 61 73 20 32 |r docume|nt has 2|
|00000cb0| 37 0d 70 61 72 61 67 72 | 61 70 68 73 2c 20 74 68 |7.paragr|aphs, th|
|00000cc0| 65 6e 20 79 6f 75 20 68 | 61 76 65 20 32 37 20 63 |en you h|ave 27 c|
|00000cd0| 68 69 6c 64 72 65 6e 20 | 6f 66 66 20 74 68 65 20 |hildren |off the |
|00000ce0| 72 6f 6f 74 20 6f 62 6a | 65 63 74 2e 20 20 54 68 |root obj|ect. Th|
|00000cf0| 65 20 6f 72 64 65 72 20 | 6f 66 20 74 68 65 20 63 |e order |of the c|
|00000d00| 68 69 6c 64 72 65 6e 20 | 69 73 20 74 68 65 20 6f |hildren |is the o|
|00000d10| 72 64 65 72 0d 6f 66 20 | 74 68 65 20 70 61 72 61 |rder.of |the para|
|00000d20| 67 72 61 70 68 73 20 69 | 6e 20 79 6f 75 72 20 64 |graphs i|n your d|
|00000d30| 6f 63 75 6d 65 6e 74 2e | 0d 0d 4c 65 74 27 73 20 |ocument.|..Let's |
|00000d40| 6e 6f 77 20 73 61 79 20 | 74 68 61 74 20 74 68 65 |now say |that the|
|00000d50| 20 75 73 65 72 20 68 61 | 73 20 73 65 6c 65 63 74 | user ha|s select|
|00000d60| 65 64 20 73 6f 6d 65 20 | 74 65 78 74 2e 20 20 54 |ed some |text. T|
|00000d70| 68 65 20 74 65 78 74 20 | 73 65 6c 65 63 74 65 64 |he text |selected|
|00000d80| 20 73 74 61 72 74 73 20 | 69 6e 20 74 68 65 20 6d | starts |in the m|
|00000d90| 69 64 64 6c 65 20 6f 66 | 0d 70 61 72 61 67 72 61 |iddle of|.paragra|
|00000da0| 70 68 20 33 2c 20 67 6f | 65 73 20 74 68 72 6f 75 |ph 3, go|es throu|
|00000db0| 67 68 20 70 61 72 61 67 | 72 61 70 68 73 20 34 2d |gh parag|raphs 4-|
|00000dc0| 35 2c 20 61 6e 64 20 74 | 68 72 6f 75 67 68 20 68 |5, and t|hrough h|
|00000dd0| 61 6c 66 20 6f 66 20 74 | 68 65 20 74 65 78 74 20 |alf of t|he text |
|00000de0| 69 6e 20 70 61 72 61 67 | 72 61 70 68 20 36 2e 20 |in parag|raph 6. |
|00000df0| 20 54 68 65 20 75 73 65 | 72 0d 74 68 65 6e 20 64 | The use|r.then d|
|00000e00| 65 6c 65 74 65 73 20 74 | 68 69 73 20 74 65 78 74 |eletes t|his text|
|00000e10| 2e 20 20 57 65 20 6d 61 | 79 20 68 61 76 65 20 64 |. We ma|y have d|
|00000e20| 65 63 6c 61 72 65 64 20 | 74 68 69 73 20 74 79 70 |eclared |this typ|
|00000e30| 65 20 6f 66 20 65 64 69 | 74 20 74 6f 20 62 65 20 |e of edi|t to be |
|00000e40| 6f 66 20 74 79 70 65 20 | 44 45 4c 45 54 45 5f 45 |of type |DELETE_E|
|00000e50| 44 49 54 2e 0d 54 68 65 | 20 65 64 69 74 73 20 74 |DIT..The| edits t|
|00000e60| 6f 20 74 68 65 20 64 6f | 63 75 6d 65 6e 74 20 74 |o the do|cument t|
|00000e70| 68 61 74 20 77 65 20 77 | 69 6c 6c 20 70 65 72 66 |hat we w|ill perf|
|00000e80| 6f 72 6d 20 61 72 65 3a | 0d 0d 31 29 20 4d 6f 64 |orm are:|..1) Mod|
|00000e90| 69 66 79 20 70 61 72 61 | 67 72 61 70 68 20 33 20 |ify para|graph 3 |
|00000ea0| 62 79 20 72 65 6d 6f 76 | 69 6e 67 20 74 68 65 20 |by remov|ing the |
|00000eb0| 73 65 6c 65 63 74 65 64 | 20 74 65 78 74 20 61 6e |selected| text an|
|00000ec0| 64 20 6b 65 65 70 69 6e | 67 20 74 68 65 20 75 6e |d keepin|g the un|
|00000ed0| 73 65 6c 65 63 74 65 64 | 20 74 65 78 74 2e 0d 32 |selected| text..2|
|00000ee0| 29 20 44 65 6c 65 74 65 | 20 70 61 72 61 67 72 61 |) Delete| paragra|
|00000ef0| 70 68 73 20 34 2d 35 2e | 0d 33 29 20 4d 6f 64 69 |phs 4-5.|.3) Modi|
|00000f00| 66 79 20 70 61 72 61 67 | 72 61 70 68 20 36 20 62 |fy parag|raph 6 b|
|00000f10| 79 20 72 65 6d 6f 76 69 | 6e 67 20 74 68 65 20 73 |y removi|ng the s|
|00000f20| 65 6c 65 63 74 65 64 20 | 74 65 78 74 20 61 6e 64 |elected |text and|
|00000f30| 20 6b 65 65 70 69 6e 67 | 20 74 68 65 20 75 6e 73 | keeping| the uns|
|00000f40| 65 6c 65 63 74 65 64 20 | 74 65 78 74 2e 0d 0d 46 |elected |text...F|
|00000f50| 6f 72 20 73 74 65 70 20 | 31 2c 20 77 65 20 77 6f |or step |1, we wo|
|00000f60| 75 6c 64 20 66 69 72 73 | 74 20 75 73 65 20 4d 6f |uld firs|t use Mo|
|00000f70| 64 69 66 79 43 68 69 6c | 64 2e 20 20 54 68 65 20 |difyChil|d. The |
|00000f80| 70 72 6f 74 6f 74 79 70 | 65 20 66 6f 72 20 4d 6f |prototyp|e for Mo|
|00000f90| 64 69 66 79 43 68 69 6c | 64 20 69 73 3a 0d 0d 20 |difyChil|d is:.. |
|00000fa0| 20 20 20 4f 53 45 72 72 | 20 20 20 4d 6f 64 69 66 | OSErr| Modif|
|00000fb0| 79 43 68 69 6c 64 28 73 | 68 6f 72 74 20 65 64 69 |yChild(s|hort edi|
|00000fc0| 74 54 79 70 65 2c 20 54 | 72 65 65 4f 62 6a 48 6e |tType, T|reeObjHn|
|00000fd0| 64 6c 20 70 68 6e 64 6c | 2c 20 73 68 6f 72 74 20 |dl phndl|, short |
|00000fe0| 63 68 69 6c 64 4e 75 6d | 2c 20 42 6f 6f 6c 65 61 |childNum|, Boolea|
|00000ff0| 6e 20 64 65 65 70 43 6f | 70 79 29 3b 0d 0d 4d 6f |n deepCo|py);..Mo|
|00001000| 64 69 66 79 43 68 69 6c | 64 20 6d 61 6b 65 73 20 |difyChil|d makes |
|00001010| 61 20 63 6f 70 79 20 6f | 66 20 74 68 65 20 6f 62 |a copy o|f the ob|
|00001020| 6a 65 63 74 20 61 6e 64 | 20 70 6c 61 63 65 73 20 |ject and| places |
|00001030| 74 68 65 20 63 6f 70 79 | 20 69 6e 20 74 68 65 20 |the copy| in the |
|00001040| 75 6e 64 6f 20 68 69 65 | 72 61 72 63 68 79 2e 20 |undo hie|rarchy. |
|00001050| 20 57 65 20 61 72 65 20 | 6e 6f 77 20 66 72 65 65 | We are |now free|
|00001060| 0d 74 6f 20 6d 6f 64 69 | 66 79 20 74 68 65 20 6f |.to modi|fy the o|
|00001070| 62 6a 65 63 74 20 61 6e | 79 20 77 61 79 20 77 65 |bject an|y way we|
|00001080| 20 73 65 65 20 66 69 74 | 2e 20 20 49 66 20 74 68 | see fit|. If th|
|00001090| 65 20 75 73 65 72 20 63 | 68 6f 6f 73 65 73 20 74 |e user c|hooses t|
|000010a0| 6f 20 75 6e 64 6f 20 74 | 68 65 20 63 68 61 6e 67 |o undo t|he chang|
|000010b0| 65 2c 20 74 68 65 20 75 | 6e 64 6f 20 63 6f 64 65 |e, the u|ndo code|
|000010c0| 0d 73 69 6d 70 6c 79 20 | 73 77 61 70 73 20 74 68 |.simply |swaps th|
|000010d0| 65 20 64 61 74 61 20 6f | 66 20 74 68 65 20 6d 6f |e data o|f the mo|
|000010e0| 64 69 66 69 65 64 20 6f | 62 6a 65 63 74 20 77 69 |dified o|bject wi|
|000010f0| 74 68 20 74 68 65 20 63 | 6f 70 79 20 74 68 61 74 |th the c|opy that|
|00001100| 20 77 61 73 20 73 61 76 | 65 64 20 69 6e 20 74 68 | was sav|ed in th|
|00001110| 65 20 75 6e 64 6f 20 68 | 69 65 72 61 72 63 68 79 |e undo h|ierarchy|
|00001120| 2e 0d 49 66 20 74 68 65 | 20 75 73 65 72 20 6c 61 |..If the| user la|
|00001130| 74 65 72 20 63 68 6f 6f | 73 65 73 20 74 6f 20 72 |ter choo|ses to r|
|00001140| 65 64 6f 20 74 68 65 20 | 65 64 69 74 2c 20 74 68 |edo the |edit, th|
|00001150| 65 20 75 6e 64 6f 20 63 | 6f 64 65 20 73 69 6d 70 |e undo c|ode simp|
|00001160| 6c 79 20 73 77 61 70 73 | 20 74 68 65 20 64 61 74 |ly swaps| the dat|
|00001170| 61 20 61 67 61 69 6e 20 | 74 6f 20 70 65 72 66 6f |a again |to perfo|
|00001180| 72 6d 0d 74 68 65 20 72 | 65 64 6f 2e 0d 0d 4e 4f |rm.the r|edo...NO|
|00001190| 54 45 3a 20 20 4d 6f 64 | 69 66 79 43 68 69 6c 64 |TE: Mod|ifyChild|
|000011a0| 20 6d 61 79 20 66 61 69 | 6c 2c 20 73 69 6e 63 65 | may fai|l, since|
|000011b0| 20 61 20 63 6f 70 79 20 | 6f 66 20 74 68 65 20 6f | a copy |of the o|
|000011c0| 62 6a 65 63 74 20 69 73 | 20 6d 61 64 65 2e 20 20 |bject is| made. |
|000011d0| 54 68 65 72 65 20 6d 61 | 79 20 6e 6f 74 20 62 65 |There ma|y not be|
|000011e0| 20 65 6e 6f 75 67 68 20 | 6d 65 6d 6f 72 79 0d 20 | enough |memory. |
|000011f0| 20 20 20 20 20 20 66 6f | 72 20 74 68 69 73 20 63 | fo|r this c|
|00001200| 6f 70 79 20 74 6f 20 62 | 65 20 63 72 65 61 74 65 |opy to b|e create|
|00001210| 64 2e 20 20 49 66 20 74 | 68 69 73 20 69 73 20 73 |d. If t|his is s|
|00001220| 6f 2c 20 74 68 65 6e 20 | 6d 65 6d 46 75 6c 6c 45 |o, then |memFullE|
|00001230| 72 72 20 77 69 6c 6c 20 | 62 65 20 72 65 74 75 72 |rr will |be retur|
|00001240| 6e 65 64 2e 0d 0d 54 68 | 65 20 70 61 72 61 6d 65 |ned...Th|e parame|
|00001250| 74 65 72 73 20 61 72 65 | 3a 0d 20 20 20 20 65 64 |ters are|:. ed|
|00001260| 69 74 54 79 70 65 3a 20 | 20 20 41 70 70 6c 69 63 |itType: | Applic|
|00001270| 61 74 69 6f 6e 20 65 64 | 69 74 20 74 79 70 65 20 |ation ed|it type |
|00001280| 66 6f 72 20 77 68 69 63 | 68 20 74 68 69 73 20 64 |for whic|h this d|
|00001290| 6f 63 75 6d 65 6e 74 20 | 6d 6f 64 69 66 69 63 61 |ocument |modifica|
|000012a0| 74 69 6f 6e 20 69 73 20 | 62 65 69 6e 67 20 64 6f |tion is |being do|
|000012b0| 6e 65 2e 0d 20 20 20 20 | 70 61 72 65 6e 74 48 6e |ne.. |parentHn|
|000012c0| 64 6c 3a 20 50 61 72 65 | 6e 74 20 6f 66 20 74 68 |dl: Pare|nt of th|
|000012d0| 65 20 63 68 69 6c 64 20 | 62 65 69 6e 67 20 6d 6f |e child |being mo|
|000012e0| 64 69 66 69 65 64 2e 0d | 20 20 20 20 63 68 69 6c |dified..| chil|
|000012f0| 64 4e 75 6d 3a 20 20 20 | 43 68 69 6c 64 20 6e 75 |dNum: |Child nu|
|00001300| 6d 62 65 72 20 28 6f 66 | 20 74 68 65 20 70 61 72 |mber (of| the par|
|00001310| 65 6e 74 29 20 62 65 69 | 6e 67 20 6d 6f 64 69 66 |ent) bei|ng modif|
|00001320| 69 65 64 2e 0d 20 20 20 | 20 64 65 65 70 43 6f 70 |ied.. | deepCop|
|00001330| 79 3a 20 20 20 49 66 20 | 74 72 75 65 2c 20 74 68 |y: If |true, th|
|00001340| 65 20 63 68 69 6c 64 72 | 65 6e 20 6f 66 20 74 68 |e childr|en of th|
|00001350| 69 73 20 63 68 69 6c 64 | 20 61 72 65 20 61 6c 73 |is child| are als|
|00001360| 6f 20 63 6f 70 69 65 64 | 20 69 6e 74 6f 20 74 68 |o copied| into th|
|00001370| 65 20 75 6e 64 6f 20 68 | 69 65 72 61 72 63 68 79 |e undo h|ierarchy|
|00001380| 2e 0d 0d 54 68 65 20 65 | 64 69 74 54 79 70 65 20 |...The e|ditType |
|00001390| 70 61 72 61 6d 65 74 65 | 72 20 69 73 20 75 73 65 |paramete|r is use|
|000013a0| 64 20 74 6f 20 64 65 74 | 65 72 6d 69 6e 65 20 69 |d to det|ermine i|
|000013b0| 66 20 74 68 69 73 20 64 | 6f 63 75 6d 65 6e 74 20 |f this d|ocument |
|000013c0| 6d 6f 64 69 66 69 63 61 | 74 69 6f 6e 20 69 73 20 |modifica|tion is |
|000013d0| 6f 66 20 74 68 65 20 73 | 61 6d 65 0d 65 64 69 74 |of the s|ame.edit|
|000013e0| 20 74 79 70 65 20 61 73 | 20 70 72 65 76 69 6f 75 | type as| previou|
|000013f0| 73 20 64 6f 63 75 6d 65 | 6e 74 20 6d 6f 64 69 66 |s docume|nt modif|
|00001400| 69 63 61 74 69 6f 6e 73 | 2e 20 20 49 66 20 69 74 |ications|. If it|
|00001410| 20 69 73 2c 20 74 68 65 | 6e 20 74 68 65 20 6f 70 | is, the|n the op|
|00001420| 65 72 61 74 69 6f 6e 20 | 69 73 20 67 72 6f 75 70 |eration |is group|
|00001430| 65 64 0d 77 69 74 68 20 | 74 68 65 20 6f 74 68 65 |ed.with |the othe|
|00001440| 72 20 6f 70 65 72 61 74 | 69 6f 6e 73 2e 20 20 54 |r operat|ions. T|
|00001450| 68 69 73 20 69 73 20 61 | 6c 6c 20 64 6f 6e 65 20 |his is a|ll done |
|00001460| 66 6f 72 20 74 68 65 20 | 70 75 72 70 6f 73 65 73 |for the |purposes|
|00001470| 20 6f 66 20 75 6e 64 6f | 2f 72 65 64 6f 2e 20 20 | of undo|/redo. |
|00001480| 4d 75 6c 74 69 70 6c 65 | 20 6f 62 6a 65 63 74 73 |Multiple| objects|
|00001490| 0d 6d 61 79 20 62 65 20 | 6d 6f 64 69 66 69 65 64 |.may be |modified|
|000014a0| 20 69 6e 20 61 20 73 69 | 6e 67 6c 65 20 65 64 69 | in a si|ngle edi|
|000014b0| 74 2c 20 61 6e 64 20 74 | 68 65 73 65 20 6d 6f 64 |t, and t|hese mod|
|000014c0| 69 66 69 63 61 74 69 6f | 6e 73 20 61 6c 6c 20 68 |ificatio|ns all h|
|000014d0| 61 76 65 20 74 6f 20 62 | 65 20 75 6e 64 6f 6e 65 |ave to b|e undone|
|000014e0| 2f 72 65 64 6f 6e 65 20 | 77 69 74 68 0d 61 20 73 |/redone |with.a s|
|000014f0| 69 6e 67 6c 65 20 75 6e | 64 6f 2f 72 65 64 6f 2e |ingle un|do/redo.|
|00001500| 0d 0d 49 66 20 74 68 65 | 20 65 64 69 74 54 79 70 |..If the| editTyp|
|00001510| 65 20 69 73 20 64 69 66 | 66 65 72 65 6e 74 20 74 |e is dif|ferent t|
|00001520| 68 61 6e 20 74 68 65 20 | 6c 61 73 74 20 64 6f 63 |han the |last doc|
|00001530| 75 6d 65 6e 74 20 6d 6f | 64 69 66 69 63 61 74 69 |ument mo|dificati|
|00001540| 6f 6e 2c 20 74 68 65 6e | 20 61 20 6e 65 77 20 75 |on, then| a new u|
|00001550| 6e 64 6f 20 67 72 6f 75 | 70 20 69 73 0d 73 74 61 |ndo grou|p is.sta|
|00001560| 72 74 65 64 2c 20 61 6e | 64 20 74 68 69 73 20 6f |rted, an|d this o|
|00001570| 70 65 72 61 74 69 6f 6e | 20 69 73 20 72 65 63 6f |peration| is reco|
|00001580| 72 64 65 64 20 69 6e 20 | 74 68 69 73 20 6e 65 77 |rded in |this new|
|00001590| 20 67 72 6f 75 70 2e 0d | 0d 46 6f 72 20 74 68 65 | group..|.For the|
|000015a0| 20 61 62 6f 76 65 20 65 | 78 61 6d 70 6c 65 2c 20 | above e|xample, |
|000015b0| 77 65 20 77 6f 75 6c 64 | 20 6d 61 6b 65 20 74 68 |we would| make th|
|000015c0| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 63 61 6c 6c |e follow|ing call|
|000015d0| 20 74 6f 20 4d 6f 64 69 | 66 79 43 68 69 6c 64 20 | to Modi|fyChild |
|000015e0| 70 72 69 6f 72 20 74 6f | 20 72 65 6d 6f 76 69 6e |prior to| removin|
|000015f0| 67 0d 74 68 65 20 73 65 | 6c 65 63 74 65 64 20 74 |g.the se|lected t|
|00001600| 65 78 74 20 66 72 6f 6d | 20 70 61 72 61 67 72 61 |ext from| paragra|
|00001610| 70 68 20 33 3a 0d 0d 20 | 20 20 20 65 72 72 20 3d |ph 3:.. | err =|
|00001620| 20 4d 6f 64 69 66 79 43 | 68 69 6c 64 28 44 45 4c | ModifyC|hild(DEL|
|00001630| 45 54 45 5f 45 44 49 54 | 2c 20 72 6f 6f 74 2c 20 |ETE_EDIT|, root, |
|00001640| 33 2c 20 66 61 6c 73 65 | 29 3b 0d 0d 4f 66 20 63 |3, false|);..Of c|
|00001650| 6f 75 72 73 65 2c 20 69 | 74 20 77 6f 75 6c 64 20 |ourse, i|t would |
|00001660| 62 65 20 61 20 72 65 61 | 6c 6c 79 20 6f 64 64 20 |be a rea|lly odd |
|00001670| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 69 6e 20 77 |applicat|ion in w|
|00001680| 68 69 63 68 20 74 68 65 | 20 27 33 27 20 77 61 73 |hich the| '3' was|
|00001690| 20 68 61 72 64 2d 63 6f | 64 65 64 20 61 73 20 69 | hard-co|ded as i|
|000016a0| 6e 0d 74 68 65 20 61 62 | 6f 76 65 20 6c 69 6e 65 |n.the ab|ove line|
|000016b0| 2e 0d 0d 4e 6f 77 20 70 | 61 72 61 67 72 61 70 68 |...Now p|aragraph|
|000016c0| 73 20 34 20 61 6e 64 20 | 35 20 6e 65 65 64 20 74 |s 4 and |5 need t|
|000016d0| 6f 20 62 65 20 64 65 6c | 65 74 65 64 2e 20 20 54 |o be del|eted. T|
|000016e0| 68 69 73 20 69 73 20 64 | 6f 6e 65 20 62 79 20 75 |his is d|one by u|
|000016f0| 73 69 6e 67 20 44 69 73 | 70 6f 73 65 43 68 69 6c |sing Dis|poseChil|
|00001700| 64 2e 0d 54 68 65 20 70 | 72 6f 74 6f 74 79 70 65 |d..The p|rototype|
|00001710| 20 66 6f 72 20 44 69 73 | 70 6f 73 65 43 68 69 6c | for Dis|poseChil|
|00001720| 64 20 69 73 3a 0d 20 20 | 20 20 76 6f 69 64 20 20 |d is:. | void |
|00001730| 20 20 44 69 73 70 6f 73 | 65 43 68 69 6c 64 28 73 | Dispos|eChild(s|
|00001740| 68 6f 72 74 20 65 64 69 | 74 54 79 70 65 2c 20 54 |hort edi|tType, T|
|00001750| 72 65 65 4f 62 6a 48 6e | 64 6c 20 70 61 72 65 6e |reeObjHn|dl paren|
|00001760| 74 48 6e 64 6c 2c 20 73 | 68 6f 72 74 20 63 68 69 |tHndl, s|hort chi|
|00001770| 6c 64 4e 75 6d 29 3b 0d | 0d 4e 6f 74 65 20 74 68 |ldNum);.|.Note th|
|00001780| 61 74 20 44 69 73 70 6f | 73 65 43 68 69 6c 64 20 |at Dispo|seChild |
|00001790| 77 69 6c 6c 20 73 75 63 | 63 65 65 64 2c 20 61 73 |will suc|ceed, as|
|000017a0| 20 69 74 20 64 6f 65 73 | 6e 27 74 20 68 61 76 65 | it does|n't have|
|000017b0| 20 74 6f 20 63 72 65 61 | 74 65 20 61 20 6e 65 77 | to crea|te a new|
|000017c0| 20 68 61 6e 64 6c 65 20 | 66 6f 72 20 74 68 65 0d | handle |for the.|
|000017d0| 63 6f 70 79 20 61 73 20 | 4d 6f 64 69 66 79 43 68 |copy as |ModifyCh|
|000017e0| 69 6c 64 20 64 6f 65 73 | 2e 20 20 48 4f 57 45 56 |ild does|. HOWEV|
|000017f0| 45 52 3a 20 20 44 69 73 | 70 6f 73 65 43 68 69 6c |ER: Dis|poseChil|
|00001800| 64 20 64 6f 65 73 6e 27 | 74 20 6e 65 63 65 73 73 |d doesn'|t necess|
|00001810| 61 72 69 6c 79 20 66 72 | 65 65 20 75 70 20 72 61 |arily fr|ee up ra|
|00001820| 6d 2c 20 61 73 0d 79 6f | 75 20 77 6f 75 6c 64 20 |m, as.yo|u would |
|00001830| 65 78 70 65 63 74 2e 20 | 20 41 6c 6c 20 74 68 61 |expect. | All tha|
|00001840| 74 20 6f 63 63 75 72 73 | 20 69 73 20 74 68 61 74 |t occurs| is that|
|00001850| 20 74 68 65 20 63 68 69 | 6c 64 20 69 73 20 6d 6f | the chi|ld is mo|
|00001860| 76 65 64 20 69 6e 74 6f | 20 74 68 65 20 75 6e 64 |ved into| the und|
|00001870| 6f 20 68 69 65 72 61 72 | 63 68 79 20 73 6f 0d 74 |o hierar|chy so.t|
|00001880| 68 61 74 20 75 6e 64 6f | 20 63 61 6e 20 6d 6f 76 |hat undo| can mov|
|00001890| 65 20 74 68 65 20 63 68 | 69 6c 64 20 62 61 63 6b |e the ch|ild back|
|000018a0| 20 69 6e 74 6f 20 74 68 | 65 20 64 6f 63 75 6d 65 | into th|e docume|
|000018b0| 6e 74 2e 0d 0d 54 6f 20 | 64 65 6c 65 74 65 20 63 |nt...To |delete c|
|000018c0| 68 69 6c 64 72 65 6e 20 | 34 20 61 6e 64 20 35 2c |hildren |4 and 5,|
|000018d0| 20 77 65 20 77 6f 75 6c | 64 20 64 6f 20 74 68 65 | we woul|d do the|
|000018e0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 3a 0d 0d 20 20 20 | followi|ng:.. |
|000018f0| 20 44 69 73 70 6f 73 65 | 43 68 69 6c 64 28 44 45 | Dispose|Child(DE|
|00001900| 4c 45 54 45 5f 45 44 49 | 54 2c 20 72 6f 6f 74 2c |LETE_EDI|T, root,|
|00001910| 20 34 29 3b 0d 20 20 20 | 20 44 69 73 70 6f 73 65 | 4);. | Dispose|
|00001920| 43 68 69 6c 64 28 44 45 | 4c 45 54 45 5f 45 44 49 |Child(DE|LETE_EDI|
|00001930| 54 2c 20 72 6f 6f 74 2c | 20 34 29 3b 0d 0d 4e 6f |T, root,| 4);..No|
|00001940| 74 65 20 74 68 61 74 20 | 66 6f 72 20 62 6f 74 68 |te that |for both|
|00001950| 20 63 61 6c 6c 73 20 77 | 65 20 64 69 73 70 6f 73 | calls w|e dispos|
|00001960| 65 20 6f 66 20 63 68 69 | 6c 64 20 6e 75 6d 62 65 |e of chi|ld numbe|
|00001970| 72 20 34 2e 20 20 54 68 | 69 73 20 69 73 20 62 65 |r 4. Th|is is be|
|00001980| 63 61 75 73 65 20 6f 6e | 63 65 20 74 68 65 20 66 |cause on|ce the f|
|00001990| 69 72 73 74 20 63 68 69 | 6c 64 0d 69 73 20 64 69 |irst chi|ld.is di|
|000019a0| 73 70 6f 73 65 64 20 6f | 66 2c 20 77 68 61 74 20 |sposed o|f, what |
|000019b0| 75 73 65 64 20 74 6f 20 | 62 65 20 63 68 69 6c 64 |used to |be child|
|000019c0| 20 35 20 69 73 20 6e 6f | 77 20 63 68 69 6c 64 20 | 5 is no|w child |
|000019d0| 34 2e 0d 0d 54 68 65 20 | 6c 61 73 74 20 6f 70 65 |4...The |last ope|
|000019e0| 72 61 74 69 6f 6e 20 77 | 65 20 77 6f 75 6c 64 20 |ration w|e would |
|000019f0| 64 6f 20 69 73 20 74 6f | 20 64 65 63 6c 61 72 65 |do is to| declare|
|00001a00| 20 6f 75 72 20 69 6e 74 | 65 6e 74 20 74 6f 20 63 | our int|ent to c|
|00001a10| 68 61 6e 67 65 20 74 6f | 20 74 68 65 20 65 6e 64 |hange to| the end|
|00001a20| 20 63 68 69 6c 64 20 69 | 6e 20 74 68 65 0d 73 65 | child i|n the.se|
|00001a30| 6c 65 63 74 69 6f 6e 20 | 72 61 6e 67 65 2e 20 20 |lection |range. |
|00001a40| 54 68 69 73 20 77 6f 75 | 6c 64 20 62 65 20 64 6f |This wou|ld be do|
|00001a50| 6e 65 20 61 73 20 66 6f | 6c 6c 6f 77 73 3a 0d 20 |ne as fo|llows:. |
|00001a60| 20 20 20 65 72 72 20 3d | 20 4d 6f 64 69 66 79 43 | err =| ModifyC|
|00001a70| 68 69 6c 64 28 44 45 4c | 45 54 45 5f 45 44 49 54 |hild(DEL|ETE_EDIT|
|00001a80| 2c 20 72 6f 6f 74 2c 20 | 34 2c 20 66 61 6c 73 65 |, root, |4, false|
|00001a90| 29 3b 0d 0d 54 68 65 20 | 64 65 6c 65 74 65 20 28 |);..The |delete (|
|00001aa0| 61 73 73 75 6d 69 6e 67 | 20 6e 6f 20 65 72 72 6f |assuming| no erro|
|00001ab0| 72 73 29 20 68 61 73 20 | 6e 6f 77 20 62 65 65 6e |rs) has |now been|
|00001ac0| 20 63 6f 6d 70 6c 65 74 | 65 64 2e 20 20 41 63 74 | complet|ed. Act|
|00001ad0| 75 61 6c 6c 79 2c 20 74 | 68 65 20 64 65 6c 65 74 |ually, t|he delet|
|00001ae0| 65 20 68 61 73 20 6f 63 | 63 75 72 72 65 64 0d 69 |e has oc|curred.i|
|00001af0| 6e 20 65 69 74 68 65 72 | 20 63 61 73 65 2e 20 20 |n either| case. |
|00001b00| 49 66 20 74 68 65 72 65 | 20 77 65 72 65 20 65 72 |If there| were er|
|00001b10| 72 6f 72 73 2c 20 61 6c | 6c 20 74 68 61 74 20 6f |rors, al|l that o|
|00001b20| 63 63 75 72 72 65 64 20 | 69 73 20 74 68 61 74 20 |ccurred |is that |
|00001b30| 74 68 65 20 75 6e 64 6f | 20 69 6e 66 6f 72 6d 61 |the undo| informa|
|00001b40| 74 69 6f 6e 20 77 61 73 | 6e 27 74 0d 72 65 63 6f |tion was|n't.reco|
|00001b50| 72 64 65 64 2e 0d 0d 4e | 6f 77 20 6c 65 74 27 73 |rded...N|ow let's|
|00001b60| 20 73 61 79 20 74 68 61 | 74 20 74 68 65 20 75 73 | say tha|t the us|
|00001b70| 65 72 20 73 65 6c 65 63 | 74 73 20 61 20 6e 65 77 |er selec|ts a new|
|00001b80| 20 72 61 6e 67 65 20 6f | 66 20 74 65 78 74 20 61 | range o|f text a|
|00001b90| 6e 64 20 64 65 6c 65 74 | 65 73 20 69 74 2c 20 61 |nd delet|es it, a|
|00001ba0| 73 20 77 65 6c 6c 2e 20 | 20 57 65 20 77 6f 75 6c |s well. | We woul|
|00001bb0| 64 0d 64 6f 20 74 68 65 | 20 73 61 6d 65 20 74 68 |d.do the| same th|
|00001bc0| 69 6e 67 20 61 73 20 61 | 62 6f 76 65 20 74 6f 20 |ing as a|bove to |
|00001bd0| 64 65 6c 65 74 65 20 74 | 68 65 20 74 65 78 74 2e |delete t|he text.|
|00001be0| 20 20 48 65 72 65 27 73 | 20 74 68 65 20 70 72 6f | Here's| the pro|
|00001bf0| 62 6c 65 6d 3a 20 20 54 | 68 65 20 65 64 69 74 54 |blem: T|he editT|
|00001c00| 79 70 65 20 6f 66 20 74 | 68 69 73 0d 73 65 63 6f |ype of t|his.seco|
|00001c10| 6e 64 20 74 65 78 74 20 | 64 65 6c 65 74 65 20 69 |nd text |delete i|
|00001c20| 73 20 74 68 65 20 73 61 | 6d 65 20 61 73 20 74 68 |s the sa|me as th|
|00001c30| 65 20 66 69 72 73 74 2e | 20 20 42 6f 74 68 20 64 |e first.| Both d|
|00001c40| 6f 63 75 6d 65 6e 74 20 | 65 64 69 74 73 20 77 65 |ocument |edits we|
|00001c50| 72 65 20 6f 66 20 74 79 | 70 65 20 44 45 4c 45 54 |re of ty|pe DELET|
|00001c60| 45 5f 45 44 49 54 2e 0d | 54 68 69 73 20 6d 65 61 |E_EDIT..|This mea|
|00001c70| 6e 73 20 74 68 61 74 20 | 62 6f 74 68 20 6f 70 65 |ns that |both ope|
|00001c80| 72 61 74 69 6f 6e 73 20 | 77 65 72 65 20 72 65 63 |rations |were rec|
|00001c90| 6f 72 64 65 64 20 75 6e | 64 65 72 20 74 68 65 20 |orded un|der the |
|00001ca0| 73 61 6d 65 20 75 6e 64 | 6f 20 74 61 73 6b 2e 20 |same und|o task. |
|00001cb0| 20 57 68 65 6e 20 74 68 | 65 20 75 73 65 72 0d 63 | When th|e user.c|
|00001cc0| 68 6f 6f 73 65 73 20 75 | 6e 64 6f 2c 20 62 6f 74 |hooses u|ndo, bot|
|00001cd0| 68 20 64 65 6c 65 74 65 | 73 20 77 69 6c 6c 20 62 |h delete|s will b|
|00001ce0| 65 20 75 6e 64 6f 6e 65 | 2e 20 20 54 68 69 73 20 |e undone|. This |
|00001cf0| 69 73 6e 27 74 20 77 68 | 61 74 20 77 65 20 77 61 |isn't wh|at we wa|
|00001d00| 6e 74 2e 0d 0d 54 6f 20 | 66 69 78 20 74 68 69 73 |nt...To |fix this|
|00001d10| 20 70 72 6f 62 6c 65 6d | 2c 20 77 65 20 68 61 76 | problem|, we hav|
|00001d20| 65 20 74 6f 20 6d 61 6b | 65 20 6f 6e 65 20 61 64 |e to mak|e one ad|
|00001d30| 64 69 74 69 6f 6e 61 6c | 20 63 61 6c 6c 2e 20 20 |ditional| call. |
|00001d40| 57 65 20 6e 65 65 64 20 | 74 6f 20 63 61 6c 6c 20 |We need |to call |
|00001d50| 4e 65 77 55 6e 64 6f 2e | 0d 4e 65 77 55 6e 64 6f |NewUndo.|.NewUndo|
|00001d60| 20 63 6c 6f 73 65 73 20 | 6f 75 74 20 74 68 65 20 | closes |out the |
|00001d70| 6f 6c 64 20 65 64 69 74 | 69 6e 67 20 74 61 73 6b |old edit|ing task|
|00001d80| 2e 20 20 57 68 65 6e 20 | 79 6f 75 20 74 68 65 6e |. When |you then|
|00001d90| 20 6d 61 6b 65 20 73 6f | 6d 65 20 64 6f 63 75 6d | make so|me docum|
|00001da0| 65 6e 74 20 6d 6f 64 69 | 66 69 63 61 74 69 6f 6e |ent modi|fication|
|00001db0| 2c 0d 69 74 20 77 69 6c | 6c 20 62 65 20 72 65 63 |,.it wil|l be rec|
|00001dc0| 6f 72 64 65 64 20 69 6e | 20 61 20 73 65 70 61 72 |orded in| a separ|
|00001dd0| 61 74 65 20 75 6e 64 6f | 20 74 61 73 6b 2e 0d 0d |ate undo| task...|
|00001de0| 4e 65 77 55 6e 64 6f 20 | 6f 6e 6c 79 20 74 61 6b |NewUndo |only tak|
|00001df0| 65 73 20 61 20 73 69 6e | 67 6c 65 20 70 61 72 61 |es a sin|gle para|
|00001e00| 6d 65 74 65 72 2e 20 20 | 4a 75 73 74 20 70 61 73 |meter. |Just pas|
|00001e10| 73 20 69 74 20 61 6e 79 | 20 68 61 6e 64 6c 65 20 |s it any| handle |
|00001e20| 69 6e 20 74 68 65 20 64 | 6f 63 75 6d 65 6e 74 2e |in the d|ocument.|
|00001e30| 20 20 41 6e 79 0d 6f 62 | 6a 65 63 74 20 69 6e 20 | Any.ob|ject in |
|00001e40| 74 68 65 20 64 6f 63 75 | 6d 65 6e 74 20 63 61 6e |the docu|ment can|
|00001e50| 20 73 65 72 76 65 20 61 | 73 20 61 20 72 65 66 65 | serve a|s a refe|
|00001e60| 72 65 6e 63 65 20 74 6f | 20 74 68 65 20 64 6f 63 |rence to| the doc|
|00001e70| 75 6d 65 6e 74 2e 0d 0d | 0d 41 6e 20 6f 62 6a 65 |ument...|.An obje|
|00001e80| 63 74 20 68 61 6e 64 6c | 65 20 68 61 73 20 33 20 |ct handl|e has 3 |
|00001e90| 70 61 72 74 73 3a 0d 31 | 29 20 54 68 65 20 68 65 |parts:.1|) The he|
|00001ea0| 61 64 65 72 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |ader inf|ormation|
|00001eb0| 2e 0d 32 29 20 54 68 65 | 20 61 70 70 6c 69 63 61 |..2) The| applica|
|00001ec0| 74 69 6f 6e 2d 64 65 66 | 69 6e 65 64 20 6f 62 6a |tion-def|ined obj|
|00001ed0| 65 63 74 20 64 61 74 61 | 2e 0d 33 29 20 54 68 65 |ect data|..3) The|
|00001ee0| 20 63 68 69 6c 64 20 68 | 61 6e 64 6c 65 20 74 61 | child h|andle ta|
|00001ef0| 62 6c 65 2e 0d 0d 0d 54 | 68 65 20 6f 62 6a 65 63 |ble....T|he objec|
|00001f00| 74 20 68 65 61 64 65 72 | 20 69 73 20 6f 66 20 74 |t header| is of t|
|00001f10| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 66 6f 72 |he follo|wing for|
|00001f20| 6d 3a 0d 0d 74 79 70 65 | 64 65 66 20 73 74 72 75 |m:..type|def stru|
|00001f30| 63 74 20 54 72 65 65 4f | 62 6a 20 7b 0d 20 20 20 |ct TreeO|bj {. |
|00001f40| 20 73 68 6f 72 74 20 20 | 20 20 20 20 20 74 79 70 | short | typ|
|00001f50| 65 3b 0d 20 20 20 20 73 | 68 6f 72 74 20 20 20 20 |e;. s|hort |
|00001f60| 20 20 20 6e 75 6d 43 68 | 69 6c 64 72 65 6e 3b 0d | numCh|ildren;.|
|00001f70| 20 20 20 20 6c 6f 6e 67 | 20 20 20 20 20 20 20 20 | long| |
|00001f80| 64 61 74 61 53 69 7a 65 | 3b 0d 20 20 20 20 6c 6f |dataSize|;. lo|
|00001f90| 6e 67 20 20 20 20 20 20 | 20 20 74 72 65 65 49 44 |ng | treeID|
|00001fa0| 3b 0d 20 20 20 20 54 72 | 65 65 4f 62 6a 48 6e 64 |;. Tr|eeObjHnd|
|00001fb0| 6c 20 70 61 72 65 6e 74 | 3b 0d 7d 20 54 72 65 65 |l parent|;.} Tree|
|00001fc0| 4f 62 6a 3b 0d 0d 54 68 | 65 73 65 20 66 69 65 6c |Obj;..Th|ese fiel|
|00001fd0| 64 73 20 61 72 65 20 61 | 75 74 6f 6d 61 74 69 63 |ds are a|utomatic|
|00001fe0| 61 6c 6c 79 20 66 69 6c | 6c 65 64 20 6f 75 74 20 |ally fil|led out |
|00001ff0| 77 68 65 6e 65 76 65 72 | 20 61 6e 20 6f 62 6a 65 |whenever| an obje|
|00002000| 63 74 20 69 73 20 63 72 | 65 61 74 65 64 20 76 69 |ct is cr|eated vi|
|00002010| 61 20 4e 65 77 52 6f 6f | 74 4f 62 6a 0d 6f 72 20 |a NewRoo|tObj.or |
|00002020| 4e 65 77 43 68 69 6c 64 | 2e 0d 0d 54 68 65 20 61 |NewChild|...The a|
|00002030| 70 70 6c 69 63 61 74 69 | 6f 6e 2d 64 65 66 69 6e |pplicati|on-defin|
|00002040| 65 64 20 64 61 74 61 20 | 61 72 65 61 20 69 73 20 |ed data |area is |
|00002050| 61 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 69 6e |automati|cally in|
|00002060| 69 74 69 61 6c 69 7a 65 | 64 20 77 69 74 68 20 30 |itialize|d with 0|
|00002070| 27 73 2e 20 20 57 68 65 | 6e 20 4e 65 77 52 6f 6f |'s. Whe|n NewRoo|
|00002080| 74 4f 62 6a 0d 6f 72 20 | 4e 65 77 43 68 69 6c 64 |tObj.or |NewChild|
|00002090| 20 69 73 20 63 61 6c 6c | 65 64 2c 20 61 20 73 69 | is call|ed, a si|
|000020a0| 7a 65 20 70 61 72 61 6d | 65 74 65 72 20 69 73 20 |ze param|eter is |
|000020b0| 70 61 73 73 65 64 20 69 | 6e 2e 20 20 54 68 65 72 |passed i|n. Ther|
|000020c0| 65 20 69 73 20 61 6c 73 | 6f 20 61 20 74 61 62 6c |e is als|o a tabl|
|000020d0| 65 20 6f 66 20 6d 69 6e | 69 6d 75 6d 20 73 69 7a |e of min|imum siz|
|000020e0| 65 73 0d 66 6f 72 20 65 | 61 63 68 20 6f 62 6a 65 |es.for e|ach obje|
|000020f0| 63 74 20 74 79 70 65 20 | 74 68 61 74 20 6e 65 65 |ct type |that nee|
|00002100| 64 73 20 74 6f 20 62 65 | 20 64 65 66 69 6e 65 64 |ds to be| defined|
|00002110| 2e 20 20 49 66 20 74 68 | 65 20 73 69 7a 65 20 70 |. If th|e size p|
|00002120| 61 73 73 65 64 20 69 6e | 20 69 73 20 73 6d 61 6c |assed in| is smal|
|00002130| 6c 65 72 20 74 68 61 6e | 20 74 68 65 0d 6d 69 6e |ler than| the.min|
|00002140| 69 6d 75 6d 20 73 69 7a | 65 2c 20 74 68 65 6e 20 |imum siz|e, then |
|00002150| 74 68 65 20 6d 69 6e 69 | 6d 75 6d 20 73 69 7a 65 |the mini|mum size|
|00002160| 20 69 73 20 75 73 65 64 | 20 61 73 20 74 68 65 20 | is used| as the |
|00002170| 64 61 74 61 20 73 69 7a | 65 20 69 6e 73 74 65 61 |data siz|e instea|
|00002180| 64 2e 0d 0d 54 68 65 20 | 6d 69 6e 69 6d 75 6d 20 |d...The |minimum |
|00002190| 73 69 7a 65 20 74 61 62 | 6c 65 20 69 73 20 61 20 |size tab|le is a |
|000021a0| 67 6c 6f 62 61 6c 20 61 | 72 72 61 79 20 6f 66 20 |global a|rray of |
|000021b0| 6c 6f 6e 67 73 20 63 61 | 6c 6c 65 64 20 67 4d 69 |longs ca|lled gMi|
|000021c0| 6e 54 72 65 65 4f 62 6a | 53 69 7a 65 2e 20 20 49 |nTreeObj|Size. I|
|000021d0| 74 73 20 64 65 66 69 6e | 69 74 69 6f 6e 20 69 73 |ts defin|ition is|
|000021e0| 0d 66 6f 75 6e 64 20 69 | 6e 20 46 69 6c 65 2e 63 |.found i|n File.c|
|000021f0| 2e 20 20 46 6f 72 20 65 | 61 63 68 20 74 79 70 65 |. For e|ach type|
|00002200| 20 6f 66 20 6f 62 6a 65 | 63 74 20 64 65 66 69 6e | of obje|ct defin|
|00002210| 65 64 2c 20 74 68 65 72 | 65 20 6e 65 65 64 73 20 |ed, ther|e needs |
|00002220| 74 6f 20 62 65 20 61 20 | 6d 69 6e 69 6d 75 6d 20 |to be a |minimum |
|00002230| 73 69 7a 65 20 64 65 66 | 69 6e 65 64 2e 0d 0d 54 |size def|ined...T|
|00002240| 68 65 72 65 20 61 72 65 | 20 73 6f 6d 65 20 70 72 |here are| some pr|
|00002250| 65 64 65 66 69 6e 65 64 | 20 6f 62 6a 65 63 74 20 |edefined| object |
|00002260| 74 79 70 65 73 2e 20 20 | 54 68 65 73 65 20 61 72 |types. |These ar|
|00002270| 65 20 64 65 66 69 6e 65 | 64 20 62 79 20 74 68 65 |e define|d by the|
|00002280| 20 66 6f 6c 6c 6f 77 69 | 6e 67 3a 0d 0d 23 64 65 | followi|ng:..#de|
|00002290| 66 69 6e 65 20 52 4f 4f | 54 4f 42 4a 20 20 20 20 |fine ROO|TOBJ |
|000022a0| 20 31 0d 23 64 65 66 69 | 6e 65 20 55 4e 44 4f 4f | 1.#defi|ne UNDOO|
|000022b0| 42 4a 20 20 20 20 20 32 | 0d 23 64 65 66 69 6e 65 |BJ 2|.#define|
|000022c0| 20 55 4e 44 4f 54 41 53 | 4b 4f 42 4a 20 33 0d 23 | UNDOTAS|KOBJ 3.#|
|000022d0| 64 65 66 69 6e 65 20 55 | 4e 44 4f 50 41 52 54 4f |define U|NDOPARTO|
|000022e0| 42 4a 20 34 0d 23 64 65 | 66 69 6e 65 20 57 46 4d |BJ 4.#de|fine WFM|
|000022f0| 54 4f 42 4a 20 20 20 20 | 20 35 0d 23 64 65 66 69 |TOBJ | 5.#defi|
|00002300| 6e 65 20 43 54 4c 4f 42 | 4a 20 20 20 20 20 20 36 |ne CTLOB|J 6|
|00002310| 0d 0d 54 68 65 73 65 20 | 61 72 65 20 74 68 65 20 |..These |are the |
|00002320| 6d 61 6e 64 61 74 6f 72 | 79 20 6f 62 6a 65 63 74 |mandator|y object|
|00002330| 20 74 79 70 65 73 20 66 | 6f 72 20 73 75 70 70 6f | types f|or suppo|
|00002340| 72 74 69 6e 67 20 74 68 | 69 73 20 69 6d 70 6c 65 |rting th|is imple|
|00002350| 6d 65 6e 74 61 74 69 6f | 6e 20 6f 66 20 74 68 65 |mentatio|n of the|
|00002360| 20 64 6f 63 75 6d 65 6e | 74 0d 73 74 72 75 63 74 | documen|t.struct|
|00002370| 75 72 65 20 61 6e 64 20 | 75 6e 64 6f 2f 72 65 64 |ure and |undo/red|
|00002380| 6f 20 66 65 61 74 75 72 | 65 73 2e 0d 0d 41 70 70 |o featur|es...App|
|00002390| 6c 69 63 61 74 69 6f 6e | 2d 64 65 66 69 6e 65 64 |lication|-defined|
|000023a0| 20 6f 62 6a 65 63 74 20 | 74 79 70 65 73 20 63 61 | object |types ca|
|000023b0| 6e 20 73 74 61 72 74 20 | 77 69 74 68 20 74 79 70 |n start |with typ|
|000023c0| 65 20 6e 75 6d 62 65 72 | 20 31 36 2e 20 20 54 79 |e number| 16. Ty|
|000023d0| 70 65 20 6e 75 6d 62 65 | 72 20 30 20 69 73 20 72 |pe numbe|r 0 is r|
|000023e0| 65 73 65 72 76 65 64 0d | 61 6e 64 20 69 73 20 63 |eserved.|and is c|
|000023f0| 75 72 72 65 6e 74 6c 79 | 20 75 6e 64 65 66 69 6e |urrently| undefin|
|00002400| 65 64 2e 20 20 54 79 70 | 65 73 20 37 2d 31 35 20 |ed. Typ|es 7-15 |
|00002410| 61 72 65 20 72 65 73 65 | 72 76 65 64 20 66 6f 72 |are rese|rved for|
|00002420| 20 66 75 74 75 72 65 20 | 6f 62 6a 65 63 74 73 20 | future |objects |
|00002430| 74 68 61 74 20 6d 61 79 | 20 62 65 20 61 64 64 65 |that may| be adde|
|00002440| 64 0d 74 6f 20 74 68 65 | 20 44 54 53 2e 4c 69 62 |d.to the| DTS.Lib|
|00002450| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 20 66 72 61 | applica|tion fra|
|00002460| 6d 65 77 6f 72 6b 2e 0d | 0d 54 68 65 20 6e 75 6d |mework..|.The num|
|00002470| 43 68 69 6c 64 72 65 6e | 20 66 69 65 6c 64 20 69 |Children| field i|
|00002480| 73 20 69 6e 69 74 69 61 | 6c 6c 79 20 30 20 61 66 |s initia|lly 0 af|
|00002490| 74 65 72 20 63 61 6c 6c | 69 6e 67 20 65 69 74 68 |ter call|ing eith|
|000024a0| 65 72 20 4e 65 77 52 6f | 6f 74 4f 62 6a 20 6f 72 |er NewRo|otObj or|
|000024b0| 20 4e 65 77 43 68 69 6c | 64 2e 0d 0d 54 68 65 20 | NewChil|d...The |
|000024c0| 64 61 74 61 53 69 7a 65 | 20 69 73 20 74 68 65 20 |dataSize| is the |
|000024d0| 65 66 66 65 63 74 69 76 | 65 20 64 61 74 61 20 73 |effectiv|e data s|
|000024e0| 69 7a 65 20 61 66 74 65 | 72 20 6f 62 6a 65 63 74 |ize afte|r object|
|000024f0| 20 63 72 65 61 74 69 6f | 6e 2c 20 77 68 69 63 68 | creatio|n, which|
|00002500| 20 69 73 20 65 69 74 68 | 65 72 20 74 68 65 20 73 | is eith|er the s|
|00002510| 69 7a 65 20 70 61 73 73 | 65 64 0d 69 6e 2c 20 6f |ize pass|ed.in, o|
|00002520| 72 20 74 68 65 20 6d 69 | 6e 69 6d 75 6d 20 6f 62 |r the mi|nimum ob|
|00002530| 6a 65 63 74 20 73 69 7a | 65 2c 20 77 68 69 63 68 |ject siz|e, which|
|00002540| 65 76 65 72 20 69 73 20 | 67 72 65 61 74 65 72 2e |ever is |greater.|
|00002550| 0d 0d 54 68 65 20 74 72 | 65 65 49 44 20 66 69 65 |..The tr|eeID fie|
|00002560| 6c 64 20 69 73 20 69 6e | 69 74 69 61 6c 6c 79 20 |ld is in|itially |
|00002570| 73 65 74 20 74 6f 20 30 | 20 62 79 20 62 6f 74 68 |set to 0| by both|
|00002580| 20 4e 65 77 52 6f 6f 74 | 4f 62 6a 20 61 6e 64 20 | NewRoot|Obj and |
|00002590| 4e 65 77 43 68 69 6c 64 | 2e 20 20 54 68 69 73 20 |NewChild|. This |
|000025a0| 66 69 65 6c 64 20 69 73 | 0d 75 73 65 64 20 74 6f |field is|.used to|
|000025b0| 20 75 6e 69 71 75 65 6c | 79 20 69 64 65 6e 74 69 | uniquel|y identi|
|000025c0| 66 79 20 6d 65 6d 62 65 | 72 73 20 6f 66 20 74 68 |fy membe|rs of th|
|000025d0| 65 20 68 69 65 72 61 72 | 63 68 79 20 62 79 20 49 |e hierar|chy by I|
|000025e0| 44 2e 20 20 28 4d 6f 72 | 65 20 6f 6e 20 74 68 69 |D. (Mor|e on thi|
|000025f0| 73 20 6c 61 74 65 72 2e | 29 0d 0d 54 68 65 20 70 |s later.|)..The p|
|00002600| 61 72 65 6e 74 20 66 69 | 65 6c 64 20 69 73 20 61 |arent fi|eld is a|
|00002610| 20 72 65 66 65 72 65 6e | 63 65 20 74 6f 20 74 68 | referen|ce to th|
|00002620| 65 20 68 61 6e 64 6c 65 | 20 77 68 69 63 68 20 69 |e handle| which i|
|00002630| 73 20 74 68 65 20 70 61 | 72 65 6e 74 2e 20 20 41 |s the pa|rent. A|
|00002640| 73 20 79 6f 75 20 77 6f | 75 6c 64 20 65 78 70 65 |s you wo|uld expe|
|00002650| 63 74 2c 0d 6f 62 6a 65 | 63 74 73 20 63 72 65 61 |ct,.obje|cts crea|
|00002660| 74 65 64 20 62 79 20 4e | 65 77 52 6f 6f 74 4f 62 |ted by N|ewRootOb|
|00002670| 6a 20 68 61 76 65 20 6e | 6f 20 70 61 72 65 6e 74 |j have n|o parent|
|00002680| 2c 20 61 6e 64 20 74 68 | 65 72 65 66 6f 72 65 20 |, and th|erefore |
|00002690| 74 68 69 73 20 66 69 65 | 6c 64 20 69 73 20 6e 69 |this fie|ld is ni|
|000026a0| 6c 2e 0d 0d 0d 54 68 65 | 20 61 70 70 6c 69 63 61 |l....The| applica|
|000026b0| 74 69 6f 6e 2d 64 65 66 | 69 6e 65 64 20 64 61 74 |tion-def|ined dat|
|000026c0| 61 20 61 72 65 61 20 73 | 74 61 72 74 73 20 69 6d |a area s|tarts im|
|000026d0| 6d 65 64 69 61 74 65 6c | 79 20 61 66 74 65 72 20 |mediatel|y after |
|000026e0| 74 68 65 20 68 65 61 64 | 65 72 20 69 6e 66 6f 72 |the head|er infor|
|000026f0| 6d 61 74 69 6f 6e 2e 20 | 20 41 73 20 74 68 65 0d |mation. | As the.|
|00002700| 73 74 72 75 63 74 75 72 | 65 20 6f 66 20 74 68 69 |structur|e of thi|
|00002710| 73 20 70 6f 72 74 69 6f | 6e 20 69 73 20 61 70 70 |s portio|n is app|
|00002720| 6c 69 63 61 74 69 6f 6e | 2d 64 65 66 69 6e 65 64 |lication|-defined|
|00002730| 20 61 6e 64 20 76 61 72 | 69 61 6e 74 2c 20 74 68 | and var|iant, th|
|00002740| 65 72 65 20 69 73 20 6e | 6f 20 73 74 72 75 63 74 |ere is n|o struct|
|00002750| 75 72 65 20 70 72 65 2d | 64 65 66 69 6e 65 64 0d |ure pre-|defined.|
|00002760| 66 6f 72 20 69 74 2e 20 | 20 45 61 63 68 20 6f 62 |for it. | Each ob|
|00002770| 6a 65 63 74 20 74 79 70 | 65 20 77 69 6c 6c 20 68 |ject typ|e will h|
|00002780| 61 76 65 20 61 20 75 6e | 69 71 75 65 20 73 74 72 |ave a un|ique str|
|00002790| 75 63 74 75 72 65 20 64 | 65 66 69 6e 69 74 69 6f |ucture d|efinitio|
|000027a0| 6e 20 66 6f 72 20 74 68 | 69 73 20 70 6f 72 74 69 |n for th|is porti|
|000027b0| 6f 6e 20 6f 66 20 74 68 | 65 20 6f 62 6a 65 63 74 |on of th|e object|
|000027c0| 2e 0d 0d 0d 54 68 65 20 | 66 69 6e 61 6c 20 70 61 |....The |final pa|
|000027d0| 72 74 20 6f 66 20 61 6e | 20 6f 62 6a 65 63 74 20 |rt of an| object |
|000027e0| 69 73 20 74 68 65 20 63 | 68 69 6c 64 20 68 61 6e |is the c|hild han|
|000027f0| 64 6c 65 20 74 61 62 6c | 65 2e 20 20 54 68 65 20 |dle tabl|e. The |
|00002800| 63 68 69 6c 64 20 68 61 | 6e 64 6c 65 20 74 61 62 |child ha|ndle tab|
|00002810| 6c 65 20 73 74 61 72 74 | 73 0d 69 6d 6d 65 64 69 |le start|s.immedi|
|00002820| 61 74 65 6c 79 20 61 66 | 74 65 72 20 74 68 65 20 |ately af|ter the |
|00002830| 64 61 74 61 20 70 6f 72 | 74 69 6f 6e 20 6f 66 20 |data por|tion of |
|00002840| 74 68 65 20 6f 62 6a 65 | 63 74 2e 20 20 54 68 65 |the obje|ct. The|
|00002850| 20 73 69 7a 65 20 6f 66 | 20 74 68 65 20 68 65 61 | size of| the hea|
|00002860| 64 65 72 20 73 74 72 75 | 63 74 75 72 65 20 70 6c |der stru|cture pl|
|00002870| 75 73 0d 74 68 65 20 76 | 61 6c 75 65 20 69 6e 20 |us.the v|alue in |
|00002880| 74 68 65 20 64 61 74 61 | 53 69 7a 65 20 66 69 65 |the data|Size fie|
|00002890| 6c 64 20 73 65 72 76 65 | 73 20 61 73 20 61 6e 20 |ld serve|s as an |
|000028a0| 6f 66 66 73 65 74 20 66 | 72 6f 6d 20 74 68 65 20 |offset f|rom the |
|000028b0| 62 65 67 69 6e 6e 69 6e | 67 20 6f 66 20 74 68 65 |beginnin|g of the|
|000028c0| 20 6f 62 6a 65 63 74 20 | 74 6f 0d 74 68 65 20 63 | object |to.the c|
|000028d0| 68 69 6c 64 20 68 61 6e | 64 6c 65 20 74 61 62 6c |hild han|dle tabl|
|000028e0| 65 2e 20 20 47 69 76 65 | 6e 20 74 68 65 20 72 65 |e. Give|n the re|
|000028f0| 6c 61 74 69 6f 6e 73 68 | 69 70 20 62 65 74 77 65 |lationsh|ip betwe|
|00002900| 65 6e 20 64 61 74 61 53 | 69 7a 65 20 61 6e 64 20 |en dataS|ize and |
|00002910| 74 68 65 20 63 68 69 6c | 64 20 68 61 6e 64 6c 65 |the chil|d handle|
|00002920| 0d 74 61 62 6c 65 2c 20 | 69 74 20 69 73 20 69 6d |.table, |it is im|
|00002930| 70 6f 72 74 61 6e 74 20 | 74 68 61 74 20 74 68 65 |portant |that the|
|00002940| 20 6f 62 6a 65 63 74 20 | 69 73 6e 27 74 20 72 65 | object |isn't re|
|00002950| 73 69 7a 65 64 20 64 69 | 72 65 63 74 6c 79 2e 20 |sized di|rectly. |
|00002960| 20 54 68 65 72 65 20 61 | 72 65 20 63 61 6c 6c 73 | There a|re calls|
|00002970| 20 66 6f 72 20 6d 61 6e | 61 67 69 6e 67 0d 74 68 | for man|aging.th|
|00002980| 65 20 64 61 74 61 20 61 | 72 65 61 20 61 6e 64 20 |e data a|rea and |
|00002990| 69 74 73 20 73 69 7a 65 | 20 74 68 61 74 20 74 61 |its size| that ta|
|000029a0| 6b 65 20 74 68 65 20 63 | 68 69 6c 64 20 68 61 6e |ke the c|hild han|
|000029b0| 64 6c 65 20 74 61 62 6c | 65 20 69 6e 74 6f 20 61 |dle tabl|e into a|
|000029c0| 63 63 6f 75 6e 74 2e 20 | 20 54 68 65 73 65 20 61 |ccount. | These a|
|000029d0| 72 65 3a 0d 0d 20 20 20 | 20 4f 53 45 72 72 20 20 |re:.. | OSErr |
|000029e0| 20 41 64 6a 75 73 74 44 | 61 74 61 53 69 7a 65 28 | AdjustD|ataSize(|
|000029f0| 54 72 65 65 4f 62 6a 48 | 6e 64 6c 20 68 6e 64 6c |TreeObjH|ndl hndl|
|00002a00| 2c 20 6c 6f 6e 67 20 64 | 65 6c 74 61 29 3b 0d 20 |, long d|elta);. |
|00002a10| 20 20 20 4f 53 45 72 72 | 20 20 20 53 65 74 44 61 | OSErr| SetDa|
|00002a20| 74 61 53 69 7a 65 28 54 | 72 65 65 4f 62 6a 48 6e |taSize(T|reeObjHn|
|00002a30| 64 6c 20 68 6e 64 6c 2c | 20 6c 6f 6e 67 20 6e 65 |dl hndl,| long ne|
|00002a40| 77 53 69 7a 65 29 3b 0d | 20 20 20 20 4f 53 45 72 |wSize);.| OSEr|
|00002a50| 72 20 20 20 53 6c 69 64 | 65 44 61 74 61 28 54 72 |r Slid|eData(Tr|
|00002a60| 65 65 4f 62 6a 48 6e 64 | 6c 20 68 6e 64 6c 2c 20 |eeObjHnd|l hndl, |
|00002a70| 6c 6f 6e 67 20 6f 66 66 | 73 65 74 2c 20 6c 6f 6e |long off|set, lon|
|00002a80| 67 20 64 65 6c 74 61 29 | 3b 0d 20 20 20 20 76 6f |g delta)|;. vo|
|00002a90| 69 64 20 20 20 20 2a 47 | 65 74 44 61 74 61 50 74 |id *G|etDataPt|
|00002aa0| 72 28 54 72 65 65 4f 62 | 6a 48 6e 64 6c 20 68 6e |r(TreeOb|jHndl hn|
|00002ab0| 64 6c 29 3b 0d 0d 41 64 | 6a 75 73 74 44 61 74 61 |dl);..Ad|justData|
|00002ac0| 53 69 7a 65 20 61 6c 74 | 65 72 73 20 74 68 65 20 |Size alt|ers the |
|00002ad0| 73 69 7a 65 20 6f 66 20 | 74 68 65 20 64 61 74 61 |size of |the data|
|00002ae0| 20 61 72 65 61 2c 20 62 | 61 73 65 64 20 6f 6e 20 | area, b|ased on |
|00002af0| 74 68 65 20 64 65 6c 74 | 61 20 70 61 73 73 65 64 |the delt|a passed|
|00002b00| 20 69 6e 2e 20 20 49 66 | 20 79 6f 75 20 77 69 73 | in. If| you wis|
|00002b10| 68 0d 74 6f 20 64 65 63 | 72 65 61 73 65 20 74 68 |h.to dec|rease th|
|00002b20| 65 20 64 61 74 61 20 61 | 72 65 61 20 62 79 20 6f |e data a|rea by o|
|00002b30| 6e 65 20 62 79 74 65 2c | 20 66 6f 72 20 65 78 61 |ne byte,| for exa|
|00002b40| 6d 70 6c 65 2c 20 70 61 | 73 73 20 69 6e 20 61 20 |mple, pa|ss in a |
|00002b50| 2d 31 2e 20 20 41 64 6a | 75 73 74 44 61 74 61 53 |-1. Adj|ustDataS|
|00002b60| 69 7a 65 20 64 6f 65 73 | 20 6e 6f 74 0d 72 65 70 |ize does| not.rep|
|00002b70| 6f 73 69 74 69 6f 6e 20 | 61 6e 79 20 6f 66 20 74 |osition |any of t|
|00002b80| 68 65 20 64 61 74 61 20 | 77 69 74 68 69 6e 20 74 |he data |within t|
|00002b90| 68 65 20 64 61 74 61 20 | 61 72 65 61 2e 20 20 49 |he data |area. I|
|00002ba0| 74 20 64 6f 65 73 20 6d | 6f 76 65 20 74 68 65 20 |t does m|ove the |
|00002bb0| 63 68 69 6c 64 20 68 61 | 6e 64 6c 65 20 74 61 62 |child ha|ndle tab|
|00002bc0| 6c 65 20 73 6f 20 74 68 | 61 74 0d 69 74 20 63 6f |le so th|at.it co|
|00002bd0| 6e 74 69 6e 75 65 73 20 | 74 6f 20 62 65 20 70 6f |ntinues |to be po|
|00002be0| 73 69 74 69 6f 6e 65 64 | 20 69 6d 6d 65 64 69 61 |sitioned| immedia|
|00002bf0| 74 65 6c 79 20 61 66 74 | 65 72 20 74 68 65 20 64 |tely aft|er the d|
|00002c00| 61 74 61 20 61 72 65 61 | 2e 0d 0d 53 65 74 44 61 |ata area|...SetDa|
|00002c10| 74 61 53 69 7a 65 20 64 | 6f 65 73 20 61 73 20 65 |taSize d|oes as e|
|00002c20| 78 70 65 63 74 65 64 2e | 20 20 49 74 20 73 70 65 |xpected.| It spe|
|00002c30| 63 69 66 69 63 61 6c 6c | 79 20 73 65 74 73 20 74 |cificall|y sets t|
|00002c40| 68 65 20 64 61 74 61 20 | 73 69 7a 65 20 74 6f 20 |he data |size to |
|00002c50| 74 68 65 20 64 65 73 69 | 67 6e 61 74 65 64 0d 73 |the desi|gnated.s|
|00002c60| 69 7a 65 2e 20 20 49 74 | 20 61 6c 73 6f 20 64 6f |ize. It| also do|
|00002c70| 65 73 20 6e 6f 74 20 73 | 68 69 66 74 20 74 68 65 |es not s|hift the|
|00002c80| 20 64 61 74 61 2c 20 62 | 75 74 20 64 6f 65 73 20 | data, b|ut does |
|00002c90| 64 6f 20 74 68 65 20 61 | 70 70 72 6f 70 72 69 61 |do the a|ppropria|
|00002ca0| 74 65 20 63 68 69 6c 64 | 20 68 61 6e 64 6c 65 20 |te child| handle |
|00002cb0| 74 61 62 6c 65 0d 6d 61 | 69 6e 74 65 6e 61 6e 63 |table.ma|intenanc|
|00002cc0| 65 2c 20 6a 75 73 74 20 | 61 73 20 41 64 6a 75 73 |e, just |as Adjus|
|00002cd0| 74 44 61 74 61 53 69 7a | 65 20 64 6f 65 73 2e 0d |tDataSiz|e does..|
|00002ce0| 0d 53 6c 69 64 65 44 61 | 74 61 20 6f 70 65 72 61 |.SlideDa|ta opera|
|00002cf0| 74 65 73 20 74 68 65 20 | 73 61 6d 65 20 61 73 20 |tes the |same as |
|00002d00| 41 64 6a 75 73 74 44 61 | 74 61 53 69 7a 65 2c 20 |AdjustDa|taSize, |
|00002d10| 70 6c 75 73 20 69 74 20 | 61 6c 73 6f 20 73 6c 69 |plus it |also sli|
|00002d20| 64 65 73 20 73 6f 6d 65 | 20 6f 72 20 61 6c 6c 20 |des some| or all |
|00002d30| 6f 66 20 74 68 65 0d 64 | 61 74 61 20 69 6e 20 74 |of the.d|ata in t|
|00002d40| 68 65 20 64 61 74 61 20 | 61 72 65 61 2e 20 20 55 |he data |area. U|
|00002d50| 73 65 20 53 6c 69 64 65 | 44 61 74 61 20 74 6f 20 |se Slide|Data to |
|00002d60| 69 6e 73 65 72 74 20 6f | 72 20 72 65 6d 6f 76 65 |insert o|r remove|
|00002d70| 20 64 61 74 61 20 61 74 | 20 73 6f 6d 65 20 6c 6f | data at| some lo|
|00002d80| 63 61 74 69 6f 6e 20 77 | 69 74 68 69 6e 0d 74 68 |cation w|ithin.th|
|00002d90| 65 20 64 61 74 61 20 61 | 72 65 61 2e 0d 0d 47 65 |e data a|rea...Ge|
|00002da0| 74 44 61 74 61 50 74 72 | 20 73 69 6d 70 6c 79 20 |tDataPtr| simply |
|00002db0| 72 65 74 75 72 6e 73 20 | 61 20 70 6f 69 6e 74 65 |returns |a pointe|
|00002dc0| 72 20 74 6f 20 74 68 65 | 20 62 65 67 69 6e 6e 69 |r to the| beginni|
|00002dd0| 6e 67 20 6f 66 20 74 68 | 65 20 64 61 74 61 20 61 |ng of th|e data a|
|00002de0| 72 65 61 2e 20 20 49 54 | 20 44 4f 45 53 20 4e 4f |rea. IT| DOES NO|
|00002df0| 54 20 4c 4f 43 4b 0d 54 | 48 45 20 48 41 4e 44 4c |T LOCK.T|HE HANDL|
|00002e00| 45 21 21 20 20 49 66 20 | 74 68 65 20 68 61 6e 64 |E!! If |the hand|
|00002e10| 6c 65 20 6e 65 65 64 73 | 20 6c 6f 63 6b 69 6e 67 |le needs| locking|
|00002e20| 2c 20 74 68 65 6e 20 79 | 6f 75 20 6d 75 73 74 20 |, then y|ou must |
|00002e30| 64 6f 20 74 68 69 73 20 | 79 6f 75 72 73 65 6c 66 |do this |yourself|
|00002e40| 2e 20 20 53 69 6e 63 65 | 20 74 68 65 20 6f 62 6a |. Since| the obj|
|00002e50| 65 63 74 0d 69 73 20 73 | 69 6d 70 6c 79 20 61 20 |ect.is s|imply a |
|00002e60| 68 61 6e 64 6c 65 2c 20 | 74 68 69 73 20 70 6f 73 |handle, |this pos|
|00002e70| 65 73 20 6e 6f 20 64 69 | 66 66 69 63 75 6c 74 69 |es no di|fficulti|
|00002e80| 65 73 2e 20 20 28 55 6e | 6c 6f 63 6b 20 77 68 65 |es. (Un|lock whe|
|00002e90| 6e 20 79 6f 75 20 61 72 | 65 20 64 6f 6e 65 2c 20 |n you ar|e done, |
|00002ea0| 6f 66 20 63 6f 75 72 73 | 65 2e 29 0d 0d 0d 54 68 |of cours|e.)...Th|
|00002eb0| 65 20 63 68 69 6c 64 20 | 68 61 6e 64 6c 65 20 74 |e child |handle t|
|00002ec0| 61 62 6c 65 20 69 73 20 | 61 75 74 6f 6d 61 74 69 |able is |automati|
|00002ed0| 63 61 6c 6c 79 20 68 61 | 6e 64 6c 65 64 2e 20 20 |cally ha|ndled. |
|00002ee0| 54 68 65 72 65 20 73 68 | 6f 75 6c 64 6e 27 74 20 |There sh|ouldn't |
|00002ef0| 62 65 20 61 20 72 65 61 | 73 6f 6e 20 74 68 61 74 |be a rea|son that|
|00002f00| 20 79 6f 75 20 6e 65 65 | 64 0d 74 6f 20 6d 61 6e | you nee|d.to man|
|00002f10| 61 67 65 20 6f 72 20 72 | 65 66 65 72 65 6e 63 65 |age or r|eference|
|00002f20| 20 74 68 69 73 20 79 6f | 75 72 73 65 6c 66 2e 20 | this yo|urself. |
|00002f30| 20 49 66 20 68 6f 77 65 | 76 65 72 20 79 6f 75 20 | If howe|ver you |
|00002f40| 65 6e 64 20 75 70 20 6e | 65 65 64 69 6e 67 20 74 |end up n|eeding t|
|00002f50| 6f 20 64 6f 20 74 68 69 | 73 2c 20 74 68 65 72 65 |o do thi|s, there|
|00002f60| 0d 61 72 65 20 63 61 6c | 6c 73 20 74 6f 20 6d 61 |.are cal|ls to ma|
|00002f70| 6e 61 67 65 20 74 68 65 | 20 63 68 69 6c 64 20 68 |nage the| child h|
|00002f80| 61 6e 64 6c 65 20 74 61 | 62 6c 65 2e 0d 0d 0d 4f |andle ta|ble....O|
|00002f90| 62 6a 65 63 74 73 20 72 | 65 66 65 72 65 6e 63 69 |bjects r|eferenci|
|00002fa0| 6e 67 20 6f 74 68 65 72 | 20 6f 62 6a 65 63 74 73 |ng other| objects|
|00002fb0| 3a 0d 0d 4c 65 74 27 73 | 20 72 65 76 69 73 69 74 |:..Let's| revisit|
|00002fc0| 20 74 68 65 20 77 6f 72 | 64 2d 70 72 6f 63 65 73 | the wor|d-proces|
|00002fd0| 73 6f 72 20 65 78 61 6d | 70 6c 65 2e 20 20 4f 6e |sor exam|ple. On|
|00002fe0| 63 65 20 61 67 61 69 6e | 2c 20 77 65 20 68 61 76 |ce again|, we hav|
|00002ff0| 65 20 74 68 69 73 20 70 | 61 72 61 67 72 61 70 68 |e this p|aragraph|
|00003000| 2d 62 61 73 65 64 20 77 | 6f 72 64 0d 70 72 6f 63 |-based w|ord.proc|
|00003010| 65 73 73 6f 72 2e 20 20 | 54 68 65 20 75 73 65 72 |essor. |The user|
|00003020| 20 73 65 6c 65 63 74 73 | 20 73 6f 6d 65 20 74 65 | selects| some te|
|00003030| 78 74 2e 20 20 54 68 65 | 20 63 75 72 73 6f 72 20 |xt. The| cursor |
|00003040| 6c 6f 63 61 74 69 6f 6e | 20 28 69 6e 73 65 72 74 |location| (insert|
|00003050| 69 6f 6e 20 70 6f 69 6e | 74 29 20 6d 75 73 74 20 |ion poin|t) must |
|00003060| 62 65 20 6b 65 70 74 2e | 0d 41 20 72 65 66 65 72 |be kept.|.A refer|
|00003070| 65 6e 63 65 20 74 6f 20 | 74 68 65 20 73 74 61 72 |ence to |the star|
|00003080| 74 69 6e 67 20 6f 62 6a | 65 63 74 20 61 6e 64 20 |ting obj|ect and |
|00003090| 61 6e 20 6f 66 66 73 65 | 74 20 69 6e 74 6f 20 74 |an offse|t into t|
|000030a0| 68 65 20 64 61 74 61 20 | 6f 66 20 74 68 61 74 20 |he data |of that |
|000030b0| 6f 62 6a 65 63 74 20 77 | 6f 75 6c 64 20 73 65 72 |object w|ould ser|
|000030c0| 76 65 20 61 73 0d 74 68 | 65 20 63 75 72 73 6f 72 |ve as.th|e cursor|
|000030d0| 20 6c 6f 63 61 74 69 6f | 6e 20 72 65 66 65 72 65 | locatio|n refere|
|000030e0| 6e 63 65 2e 0d 0d 54 68 | 69 73 20 72 65 66 65 72 |nce...Th|is refer|
|000030f0| 65 6e 63 65 20 74 6f 20 | 74 68 65 20 70 61 72 61 |ence to |the para|
|00003100| 67 72 61 70 68 20 6f 62 | 6a 65 63 74 20 63 6f 6e |graph ob|ject con|
|00003110| 74 61 69 6e 69 6e 67 20 | 74 68 65 20 69 6e 73 65 |taining |the inse|
|00003120| 72 74 69 6f 6e 20 70 6f | 69 6e 74 20 63 6f 75 6c |rtion po|int coul|
|00003130| 64 20 62 65 20 6b 65 70 | 74 20 61 73 20 65 69 74 |d be kep|t as eit|
|00003140| 68 65 72 0d 61 20 68 61 | 6e 64 6c 65 20 72 65 66 |her.a ha|ndle ref|
|00003150| 65 72 65 6e 63 65 20 6f | 72 20 61 20 63 68 69 6c |erence o|r a chil|
|00003160| 64 20 6e 75 6d 62 65 72 | 20 72 65 66 65 72 65 6e |d number| referen|
|00003170| 63 65 2e 20 20 45 69 74 | 68 65 72 20 77 6f 75 6c |ce. Eit|her woul|
|00003180| 64 20 73 65 72 76 65 20 | 74 68 65 20 70 75 72 70 |d serve |the purp|
|00003190| 6f 73 65 2e 20 20 42 6f | 74 68 20 77 6f 75 6c 64 |ose. Bo|th would|
|000031a0| 0d 75 6e 69 71 75 65 6c | 79 20 64 65 73 63 72 69 |.uniquel|y descri|
|000031b0| 62 65 20 61 6e 20 6f 62 | 6a 65 63 74 20 69 6e 20 |be an ob|ject in |
|000031c0| 74 68 65 20 64 6f 63 75 | 6d 65 6e 74 2e 20 20 54 |the docu|ment. T|
|000031d0| 68 65 20 68 61 6e 64 6c | 65 20 72 65 66 65 72 65 |he handl|e refere|
|000031e0| 6e 63 65 20 77 6f 75 6c | 64 20 64 69 72 65 63 74 |nce woul|d direct|
|000031f0| 6c 79 20 72 65 66 65 72 | 65 6e 63 65 0d 74 68 65 |ly refer|ence.the|
|00003200| 20 6f 62 6a 65 63 74 2e | 20 20 54 68 65 20 63 68 | object.| The ch|
|00003210| 69 6c 64 20 6e 75 6d 62 | 65 72 20 72 65 66 65 72 |ild numb|er refer|
|00003220| 65 6e 63 65 20 77 6f 75 | 6c 64 20 69 6e 64 69 72 |ence wou|ld indir|
|00003230| 65 63 74 6c 79 20 72 65 | 66 65 72 65 6e 63 65 20 |ectly re|ference |
|00003240| 74 68 65 20 6f 62 6a 65 | 63 74 2e 20 20 49 66 20 |the obje|ct. If |
|00003250| 77 65 20 75 73 65 64 0d | 63 68 69 6c 64 20 6e 75 |we used.|child nu|
|00003260| 6d 62 65 72 73 20 61 73 | 20 6f 75 72 20 72 65 66 |mbers as| our ref|
|00003270| 65 72 65 6e 63 65 20 61 | 6e 64 20 77 65 20 64 65 |erence a|nd we de|
|00003280| 73 69 72 65 64 20 74 6f | 20 67 65 74 20 74 68 65 |sired to| get the|
|00003290| 20 68 61 6e 64 6c 65 20 | 6f 66 20 74 68 65 20 6f | handle |of the o|
|000032a0| 62 6a 65 63 74 2c 20 77 | 65 20 77 6f 75 6c 64 20 |bject, w|e would |
|000032b0| 64 6f 0d 73 6f 6d 65 74 | 68 69 6e 67 20 6c 69 6b |do.somet|hing lik|
|000032c0| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 3a |e the fo|llowing:|
|000032d0| 0d 0d 20 20 20 20 63 68 | 6e 64 6c 20 3d 20 47 65 |.. ch|ndl = Ge|
|000032e0| 74 43 68 69 6c 64 48 6e | 64 6c 28 72 6f 6f 74 2c |tChildHn|dl(root,|
|000032f0| 20 63 6e 75 6d 29 3b 0d | 0d 49 6e 20 6f 75 72 20 | cnum);.|.In our |
|00003300| 64 6f 63 75 6d 65 6e 74 | 20 65 78 61 6d 70 6c 65 |document| example|
|00003310| 2c 20 61 6c 6c 20 6f 66 | 20 74 68 65 20 70 61 72 |, all of| the par|
|00003320| 61 67 72 61 70 68 20 6f | 62 6a 65 63 74 73 20 61 |agraph o|bjects a|
|00003330| 72 65 20 63 68 69 6c 64 | 72 65 6e 20 6f 66 20 74 |re child|ren of t|
|00003340| 68 65 20 72 6f 6f 74 20 | 6f 62 6a 65 63 74 2e 0d |he root |object..|
|00003350| 49 6e 20 74 68 69 73 20 | 63 61 73 65 20 69 74 20 |In this |case it |
|00003360| 77 6f 75 6c 64 20 62 65 | 20 61 20 73 69 6d 70 6c |would be| a simpl|
|00003370| 65 20 6d 61 74 74 65 72 | 20 6f 66 20 67 65 74 74 |e matter| of gett|
|00003380| 69 6e 67 20 74 68 65 20 | 63 68 69 6c 64 20 68 61 |ing the |child ha|
|00003390| 6e 64 6c 65 2e 20 20 54 | 68 65 20 63 68 69 6c 64 |ndle. T|he child|
|000033a0| 20 6e 75 6d 62 65 72 0d | 72 65 66 65 72 65 6e 63 | number.|referenc|
|000033b0| 65 20 77 6f 75 6c 64 20 | 70 72 6f 62 61 62 6c 79 |e would |probably|
|000033c0| 20 62 65 20 73 74 6f 72 | 65 64 20 69 6e 20 74 68 | be stor|ed in th|
|000033d0| 65 20 72 6f 6f 74 20 6f | 62 6a 65 63 74 2c 20 61 |e root o|bject, a|
|000033e0| 73 20 69 74 20 69 73 20 | 61 20 67 6c 6f 62 61 6c |s it is |a global|
|000033f0| 20 70 69 65 63 65 20 6f | 66 20 69 6e 66 6f 72 6d | piece o|f inform|
|00003400| 61 74 69 6f 6e 0d 66 6f | 72 20 74 68 69 73 20 64 |ation.fo|r this d|
|00003410| 6f 63 75 6d 65 6e 74 2e | 20 20 57 65 20 77 6f 75 |ocument.| We wou|
|00003420| 6c 64 20 70 72 6f 62 61 | 62 6c 79 20 77 61 6e 74 |ld proba|bly want|
|00003430| 20 69 74 20 73 61 76 65 | 64 20 77 69 74 68 20 74 | it save|d with t|
|00003440| 68 65 20 64 6f 63 75 6d | 65 6e 74 2c 20 77 68 69 |he docum|ent, whi|
|00003450| 63 68 20 77 6f 75 6c 64 | 20 6f 63 63 75 72 0d 61 |ch would| occur.a|
|00003460| 75 74 6f 6d 61 74 69 63 | 61 6c 6c 79 20 69 66 20 |utomatic|ally if |
|00003470| 69 74 20 77 65 72 65 20 | 73 74 6f 72 65 64 20 69 |it were |stored i|
|00003480| 6e 20 74 68 65 20 72 6f | 6f 74 20 6f 62 6a 65 63 |n the ro|ot objec|
|00003490| 74 2e 0d 0d 53 6f 2c 20 | 73 69 6e 63 65 20 74 68 |t...So, |since th|
|000034a0| 65 79 20 62 6f 74 68 20 | 73 65 65 6d 20 74 6f 20 |ey both |seem to |
|000034b0| 77 6f 72 6b 2c 20 77 68 | 69 63 68 20 69 73 20 62 |work, wh|ich is b|
|000034c0| 65 74 74 65 72 3f 20 20 | 49 73 20 6b 65 65 70 69 |etter? |Is keepi|
|000034d0| 6e 67 20 74 68 65 20 68 | 61 6e 64 6c 65 20 62 65 |ng the h|andle be|
|000034e0| 74 74 65 72 2c 20 6f 72 | 20 69 73 20 6b 65 65 70 |tter, or| is keep|
|000034f0| 69 6e 67 0d 74 68 65 20 | 63 68 69 6c 64 20 6e 75 |ing.the |child nu|
|00003500| 6d 62 65 72 20 62 65 74 | 74 65 72 3f 20 20 57 68 |mber bet|ter? Wh|
|00003510| 65 6e 20 73 61 76 69 6e | 67 20 61 20 64 6f 63 75 |en savin|g a docu|
|00003520| 6d 65 6e 74 2c 20 63 68 | 69 6c 64 20 6e 75 6d 62 |ment, ch|ild numb|
|00003530| 65 72 73 20 77 69 6c 6c | 20 62 65 20 6d 65 61 6e |ers will| be mean|
|00003540| 69 6e 67 66 75 6c 20 77 | 68 65 6e 20 74 68 65 0d |ingful w|hen the.|
|00003550| 64 6f 63 75 6d 65 6e 74 | 20 69 73 20 6f 70 65 6e |document| is open|
|00003560| 65 64 20 61 74 20 61 20 | 66 75 74 75 72 65 20 64 |ed at a |future d|
|00003570| 61 74 65 2e 20 20 52 65 | 66 65 72 65 6e 63 65 73 |ate. Re|ferences|
|00003580| 20 74 6f 20 68 61 6e 64 | 6c 65 73 20 61 72 65 6e | to hand|les aren|
|00003590| 27 74 20 6d 65 61 6e 69 | 6e 67 66 75 6c 20 77 68 |'t meani|ngful wh|
|000035a0| 65 6e 20 73 61 76 65 64 | 20 74 6f 20 64 69 73 6b |en saved| to disk|
|000035b0| 0d 61 6e 64 20 74 68 65 | 6e 20 72 65 6c 6f 61 64 |.and the|n reload|
|000035c0| 65 64 2e 20 20 46 6f 72 | 20 74 68 69 73 20 72 65 |ed. For| this re|
|000035d0| 61 73 6f 6e 20 69 74 20 | 73 65 65 6d 73 20 74 68 |ason it |seems th|
|000035e0| 61 74 20 63 68 69 6c 64 | 20 6e 75 6d 62 65 72 20 |at child| number |
|000035f0| 73 68 6f 75 6c 64 20 77 | 69 6e 20 6f 75 74 2e 0d |should w|in out..|
|00003600| 0d 42 75 74 20 77 68 61 | 74 20 69 66 20 79 6f 75 |.But wha|t if you|
|00003610| 20 77 69 73 68 20 74 6f | 20 6b 65 65 70 20 61 20 | wish to| keep a |
|00003620| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 73 6f 6d |referenc|e to som|
|00003630| 65 20 61 72 62 69 74 72 | 61 72 79 20 70 6f 69 6e |e arbitr|ary poin|
|00003640| 74 20 69 6e 20 74 68 65 | 20 64 6f 63 75 6d 65 6e |t in the| documen|
|00003650| 74 3f 20 20 57 68 61 74 | 20 69 66 20 79 6f 75 0d |t? What| if you.|
|00003660| 64 6f 6e 27 74 20 6b 6e | 6f 77 20 77 68 61 74 20 |don't kn|ow what |
|00003670| 74 68 65 20 70 61 72 65 | 6e 74 20 6f 66 20 74 68 |the pare|nt of th|
|00003680| 61 74 20 6f 62 6a 65 63 | 74 20 69 73 3f 20 20 57 |at objec|t is? W|
|00003690| 68 61 74 20 69 66 20 74 | 68 65 20 6f 62 6a 65 63 |hat if t|he objec|
|000036a0| 74 20 69 73 20 61 74 20 | 73 6f 6d 65 20 61 72 62 |t is at |some arb|
|000036b0| 69 74 72 61 72 79 20 64 | 65 70 74 68 0d 69 6e 20 |itrary d|epth.in |
|000036c0| 74 68 65 20 68 69 65 72 | 61 72 63 68 79 3f 20 20 |the hier|archy? |
|000036d0| 49 6e 20 74 68 69 73 20 | 63 61 73 65 2c 20 69 74 |In this |case, it|
|000036e0| 20 73 65 65 6d 73 20 70 | 72 65 74 74 79 20 63 6c | seems p|retty cl|
|000036f0| 65 61 72 20 74 68 61 74 | 20 77 65 20 77 69 73 68 |ear that| we wish|
|00003700| 20 74 6f 20 75 73 65 20 | 68 61 6e 64 6c 65 20 72 | to use |handle r|
|00003710| 65 66 65 72 65 6e 63 65 | 73 0d 69 6e 73 74 65 61 |eference|s.instea|
|00003720| 64 20 6f 66 20 63 68 69 | 6c 64 20 6e 75 6d 62 65 |d of chi|ld numbe|
|00003730| 72 20 72 65 66 65 72 65 | 6e 63 65 73 2c 20 61 74 |r refere|nces, at|
|00003740| 20 6c 65 61 73 74 20 77 | 68 65 6e 20 74 68 65 20 | least w|hen the |
|00003750| 64 6f 63 75 6d 65 6e 74 | 20 69 73 20 69 6e 20 6d |document| is in m|
|00003760| 65 6d 6f 72 79 2e 0d 0d | 53 6f 20 77 68 61 74 20 |emory...|So what |
|00003770| 61 62 6f 75 74 20 68 61 | 6e 64 6c 65 20 72 65 66 |about ha|ndle ref|
|00003780| 65 72 65 6e 63 65 73 20 | 77 68 65 6e 20 73 61 76 |erences |when sav|
|00003790| 65 64 20 74 6f 20 64 69 | 73 6b 3f 20 20 57 65 20 |ed to di|sk? We |
|000037a0| 6e 65 65 64 20 74 68 65 | 73 65 20 72 65 66 65 72 |need the|se refer|
|000037b0| 65 6e 63 65 73 20 74 6f | 20 70 65 72 73 69 73 74 |ences to| persist|
|000037c0| 2e 20 20 54 6f 0d 64 6f | 20 74 68 69 73 2c 20 77 |. To.do| this, w|
|000037d0| 65 20 6d 75 73 74 20 63 | 6f 6e 76 65 72 74 20 74 |e must c|onvert t|
|000037e0| 68 65 6d 20 74 6f 20 73 | 6f 6d 65 74 68 69 6e 67 |hem to s|omething|
|000037f0| 20 74 68 61 74 20 73 61 | 76 65 73 20 6d 65 61 6e | that sa|ves mean|
|00003800| 69 6e 67 66 75 6c 6c 79 | 20 61 6e 64 20 63 61 6e |ingfully| and can|
|00003810| 20 62 65 20 63 6f 6e 76 | 65 72 74 65 64 20 62 61 | be conv|erted ba|
|00003820| 63 6b 0d 74 6f 20 68 61 | 6e 64 6c 65 20 72 65 66 |ck.to ha|ndle ref|
|00003830| 65 72 65 6e 63 65 73 20 | 77 68 65 6e 20 74 68 65 |erences |when the|
|00003840| 20 64 6f 63 75 6d 65 6e | 74 20 69 73 20 72 65 6f | documen|t is reo|
|00003850| 70 65 6e 65 64 2e 0d 0d | 54 68 69 73 20 69 73 20 |pened...|This is |
|00003860| 77 68 61 74 20 74 68 65 | 20 74 72 65 65 49 44 20 |what the| treeID |
|00003870| 66 69 65 6c 64 20 69 6e | 20 74 68 65 20 6f 62 6a |field in| the obj|
|00003880| 65 63 74 20 68 65 61 64 | 65 72 20 69 73 20 66 6f |ect head|er is fo|
|00003890| 72 2e 20 20 57 68 65 6e | 20 44 6f 4e 75 6d 62 65 |r. When| DoNumbe|
|000038a0| 72 54 72 65 65 20 69 73 | 20 63 61 6c 6c 65 64 2c |rTree is| called,|
|000038b0| 0d 61 6c 6c 20 6f 66 20 | 74 68 65 20 6f 62 6a 65 |.all of |the obje|
|000038c0| 63 74 73 20 69 6e 20 74 | 68 65 20 68 69 65 72 61 |cts in t|he hiera|
|000038d0| 72 63 68 79 20 61 72 65 | 20 75 6e 69 71 75 65 6c |rchy are| uniquel|
|000038e0| 79 20 6e 75 6d 62 65 72 | 65 64 2e 20 20 44 6f 4e |y number|ed. DoN|
|000038f0| 75 6d 62 65 72 54 72 65 | 65 20 69 73 20 61 75 74 |umberTre|e is aut|
|00003900| 6f 6d 61 74 69 63 61 6c | 6c 79 0d 63 61 6c 6c 65 |omatical|ly.calle|
|00003910| 64 20 62 79 20 74 68 65 | 20 73 68 65 6c 6c 20 6a |d by the| shell j|
|00003920| 75 73 74 20 70 72 69 6f | 72 20 74 6f 20 74 68 65 |ust prio|r to the|
|00003930| 20 6f 62 6a 65 63 74 73 | 20 69 6e 20 61 20 68 69 | objects| in a hi|
|00003940| 65 72 61 72 63 68 79 20 | 61 72 65 20 77 72 69 74 |erarchy |are writ|
|00003950| 74 65 6e 20 74 6f 20 64 | 69 73 6b 2e 20 20 49 6e |ten to d|isk. In|
|00003960| 0d 61 64 64 69 74 69 6f | 6e 2c 20 70 72 69 6f 72 |.additio|n, prior|
|00003970| 20 74 6f 20 77 72 69 74 | 69 6e 67 20 61 6e 20 6f | to writ|ing an o|
|00003980| 62 6a 65 63 74 20 6f 75 | 74 20 74 6f 20 64 69 73 |bject ou|t to dis|
|00003990| 6b 2c 20 74 68 65 20 6f | 62 6a 65 63 74 20 69 73 |k, the o|bject is|
|000039a0| 20 63 61 6c 6c 65 64 20 | 77 69 74 68 20 61 20 6d | called |with a m|
|000039b0| 65 73 73 61 67 65 0d 72 | 65 71 75 65 73 74 69 6e |essage.r|equestin|
|000039c0| 67 20 69 74 20 74 6f 20 | 63 6f 6e 76 65 72 74 20 |g it to |convert |
|000039d0| 61 6e 79 20 68 61 6e 64 | 6c 65 20 72 65 66 65 72 |any hand|le refer|
|000039e0| 65 6e 63 65 73 20 69 74 | 20 63 6f 6e 74 61 69 6e |ences it| contain|
|000039f0| 73 20 74 6f 20 74 72 65 | 65 49 44 20 72 65 66 65 |s to tre|eID refe|
|00003a00| 72 65 6e 63 65 73 2e 20 | 20 46 6f 72 20 65 61 63 |rences. | For eac|
|00003a10| 68 0d 68 61 6e 64 6c 65 | 20 72 65 66 65 72 65 6e |h.handle| referen|
|00003a20| 63 65 20 74 68 61 74 20 | 6e 65 65 64 73 20 74 6f |ce that |needs to|
|00003a30| 20 62 65 20 63 6f 6e 76 | 65 72 74 65 64 2c 20 79 | be conv|erted, y|
|00003a40| 6f 75 20 6e 65 65 64 20 | 74 6f 20 63 61 6c 6c 20 |ou need |to call |
|00003a50| 48 6e 64 6c 32 49 44 20 | 74 6f 20 64 6f 20 74 68 |Hndl2ID |to do th|
|00003a60| 65 20 63 6f 6e 76 65 72 | 73 69 6f 6e 2e 0d 48 6e |e conver|sion..Hn|
|00003a70| 64 6c 32 49 44 20 64 65 | 70 65 6e 64 73 20 6f 6e |dl2ID de|pends on|
|00003a80| 20 44 6f 4e 75 6d 62 65 | 72 54 72 65 65 20 61 6c | DoNumbe|rTree al|
|00003a90| 72 65 61 64 79 20 62 65 | 69 6e 67 20 63 61 6c 6c |ready be|ing call|
|00003aa0| 65 64 20 73 6f 20 74 68 | 61 74 20 61 6c 6c 20 6f |ed so th|at all o|
|00003ab0| 66 20 74 68 65 20 74 72 | 65 65 49 44 20 66 69 65 |f the tr|eeID fie|
|00003ac0| 6c 64 73 0d 66 6f 72 20 | 61 6c 6c 20 6f 66 20 74 |lds.for |all of t|
|00003ad0| 68 65 20 6f 62 6a 65 63 | 74 73 20 69 6e 20 74 68 |he objec|ts in th|
|00003ae0| 65 20 68 69 65 72 61 72 | 63 68 79 20 61 72 65 20 |e hierar|chy are |
|00003af0| 63 75 72 72 65 6e 74 2e | 0d 0d 41 66 74 65 72 20 |current.|..After |
|00003b00| 63 61 6c 6c 69 6e 67 20 | 74 68 65 20 6f 62 6a 65 |calling |the obje|
|00003b10| 63 74 20 77 69 74 68 20 | 74 68 65 20 68 61 6e 64 |ct with |the hand|
|00003b20| 6c 65 2d 74 6f 2d 69 64 | 20 63 6f 6e 76 65 72 73 |le-to-id| convers|
|00003b30| 69 6f 6e 20 6d 65 73 73 | 61 67 65 2c 20 74 68 65 |ion mess|age, the|
|00003b40| 20 6f 62 6a 65 63 74 20 | 69 73 20 77 72 69 74 74 | object |is writt|
|00003b50| 65 6e 0d 74 6f 20 64 69 | 73 6b 2e 20 20 4f 6e 63 |en.to di|sk. Onc|
|00003b60| 65 20 69 74 20 69 73 20 | 77 72 69 74 74 65 6e 2c |e it is |written,|
|00003b70| 20 61 20 6d 65 73 73 61 | 67 65 20 69 73 20 73 65 | a messa|ge is se|
|00003b80| 6e 74 20 74 6f 20 74 68 | 65 20 6f 62 6a 65 63 74 |nt to th|e object|
|00003b90| 20 72 65 71 75 65 73 74 | 69 6e 67 20 69 74 20 74 | request|ing it t|
|00003ba0| 6f 20 63 6f 76 65 72 74 | 20 74 68 65 0d 69 64 20 |o covert| the.id |
|00003bb0| 62 61 63 6b 20 69 6e 74 | 6f 20 61 20 68 61 6e 64 |back int|o a hand|
|00003bc0| 6c 65 20 72 65 66 65 72 | 65 6e 63 65 2e 20 20 46 |le refer|ence. F|
|00003bd0| 6f 72 20 65 61 63 68 20 | 72 65 66 65 72 65 6e 63 |or each |referenc|
|00003be0| 65 20 63 6f 6e 76 65 72 | 74 65 64 2c 20 79 6f 75 |e conver|ted, you|
|00003bf0| 20 6e 65 65 64 20 74 6f | 20 63 61 6c 6c 20 49 44 | need to| call ID|
|00003c00| 32 48 6e 64 6c 0d 74 6f | 20 64 65 63 6f 6e 76 65 |2Hndl.to| deconve|
|00003c10| 72 74 20 74 68 65 20 72 | 65 66 65 72 65 6e 63 65 |rt the r|eference|
|00003c20| 20 62 61 63 6b 20 69 6e | 74 6f 20 61 20 68 61 6e | back in|to a han|
|00003c30| 64 6c 65 2e 0d 0d 57 68 | 65 6e 20 61 20 64 6f 63 |dle...Wh|en a doc|
|00003c40| 75 6d 65 6e 74 20 69 73 | 20 6f 70 65 6e 65 64 2c |ument is| opened,|
|00003c50| 20 61 6c 6c 20 6f 66 20 | 74 68 65 20 6f 62 6a 65 | all of |the obje|
|00003c60| 63 74 73 20 61 72 65 20 | 66 69 72 73 74 20 72 65 |cts are |first re|
|00003c70| 61 64 20 69 6e 74 6f 20 | 6d 65 6d 6f 72 79 2e 20 |ad into |memory. |
|00003c80| 20 4f 6e 63 65 20 74 68 | 65 20 65 6e 74 69 72 65 | Once th|e entire|
|00003c90| 0d 64 6f 63 75 6d 65 6e | 74 20 69 73 20 69 6e 20 |.documen|t is in |
|00003ca0| 6d 65 6d 6f 72 79 2c 20 | 44 6f 4e 75 6d 62 65 72 |memory, |DoNumber|
|00003cb0| 54 72 65 65 20 69 73 20 | 63 61 6c 6c 65 64 2c 20 |Tree is |called, |
|00003cc0| 61 6e 64 20 74 68 65 6e | 20 65 61 63 68 20 6f 62 |and then| each ob|
|00003cd0| 6a 65 63 74 20 69 6e 20 | 74 68 65 20 64 6f 63 75 |ject in |the docu|
|00003ce0| 6d 65 6e 74 20 69 73 0d | 73 65 6e 74 20 61 20 6d |ment is.|sent a m|
|00003cf0| 65 73 73 61 67 65 20 72 | 65 71 75 65 73 74 69 6e |essage r|equestin|
|00003d00| 67 20 69 74 20 74 6f 20 | 63 6f 6e 76 65 72 74 20 |g it to |convert |
|00003d10| 74 68 65 20 63 6f 6e 76 | 65 72 74 65 64 20 68 61 |the conv|erted ha|
|00003d20| 6e 64 6c 65 20 72 65 66 | 65 72 65 6e 63 65 73 20 |ndle ref|erences |
|00003d30| 62 61 63 6b 20 69 6e 74 | 6f 20 72 65 61 6c 0d 68 |back int|o real.h|
|00003d40| 61 6e 64 6c 65 20 72 65 | 66 65 72 65 6e 63 65 73 |andle re|ferences|
|00003d50| 2e 0d 0d 54 68 65 20 72 | 65 61 73 6f 6e 20 74 68 |...The r|eason th|
|00003d60| 61 74 20 74 68 65 20 65 | 6e 74 69 72 65 20 64 6f |at the e|ntire do|
|00003d70| 63 75 6d 65 6e 74 20 6d | 75 73 74 20 66 69 72 73 |cument m|ust firs|
|00003d80| 74 20 62 65 20 72 65 61 | 64 20 69 73 20 74 68 61 |t be rea|d is tha|
|00003d90| 74 20 74 68 65 20 72 65 | 66 65 72 65 6e 63 65 20 |t the re|ference |
|00003da0| 74 6f 20 61 6e 6f 74 68 | 65 72 20 6f 62 6a 65 63 |to anoth|er objec|
|00003db0| 74 0d 6d 61 79 20 62 65 | 20 74 6f 20 61 6e 20 6f |t.may be| to an o|
|00003dc0| 62 6a 65 63 74 20 74 68 | 61 74 20 69 73 20 6c 61 |bject th|at is la|
|00003dd0| 74 65 72 20 69 6e 20 74 | 68 65 20 64 6f 63 75 6d |ter in t|he docum|
|00003de0| 65 6e 74 2e 20 20 4f 6e | 6c 79 20 61 66 74 65 72 |ent. On|ly after|
|00003df0| 20 74 68 65 20 65 6e 74 | 69 72 65 20 64 6f 63 75 | the ent|ire docu|
|00003e00| 6d 65 6e 74 20 69 73 20 | 72 65 61 64 20 69 6e 0d |ment is |read in.|
|00003e10| 69 73 20 69 74 20 70 6f | 73 73 69 62 6c 65 20 74 |is it po|ssible t|
|00003e20| 6f 20 72 65 73 6f 6c 76 | 65 20 61 6c 6c 20 72 65 |o resolv|e all re|
|00003e30| 66 65 72 65 6e 63 65 73 | 20 74 6f 20 61 6e 79 77 |ferences| to anyw|
|00003e40| 68 65 72 65 20 69 6e 20 | 74 68 65 20 64 6f 63 75 |here in |the docu|
|00003e50| 6d 65 6e 74 2e 0d 0d 54 | 68 69 73 20 6d 65 73 73 |ment...T|his mess|
|00003e60| 61 67 69 6e 67 20 6d 65 | 63 68 61 6e 69 73 6d 20 |aging me|chanism |
|00003e70| 61 6c 6c 6f 77 73 20 79 | 6f 75 20 74 6f 20 75 73 |allows y|ou to us|
|00003e80| 65 20 68 61 6e 64 6c 65 | 20 72 65 66 65 72 65 6e |e handle| referen|
|00003e90| 63 65 73 20 77 69 74 68 | 69 6e 20 79 6f 75 72 20 |ces with|in your |
|00003ea0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 77 69 74 68 |applicat|ion with|
|00003eb0| 6f 75 74 0d 77 6f 72 72 | 79 69 6e 67 20 61 62 6f |out.worr|ying abo|
|00003ec0| 75 74 20 74 68 65 6d 20 | 70 65 72 73 69 73 74 69 |ut them |persisti|
|00003ed0| 6e 67 20 74 68 72 6f 75 | 67 68 20 61 20 73 61 76 |ng throu|gh a sav|
|00003ee0| 65 2f 6f 70 65 6e 20 63 | 79 63 6c 65 2e 20 20 53 |e/open c|ycle. S|
|00003ef0| 6f 2c 20 67 69 76 65 6e | 20 74 68 65 20 61 62 6f |o, given| the abo|
|00003f00| 76 65 20 6d 65 73 73 61 | 67 69 6e 67 0d 6d 65 63 |ve messa|ging.mec|
|00003f10| 68 61 6e 69 73 6d 2c 20 | 75 73 69 6e 67 20 65 69 |hanism, |using ei|
|00003f20| 74 68 65 72 20 63 68 69 | 6c 64 20 6e 75 6d 62 65 |ther chi|ld numbe|
|00003f30| 72 20 72 65 66 65 72 65 | 6e 63 65 73 20 6f 72 20 |r refere|nces or |
|00003f40| 68 61 6e 64 6c 65 20 72 | 65 66 65 72 65 6e 63 65 |handle r|eference|
|00003f50| 73 20 69 73 20 65 71 75 | 61 6c 6c 79 20 76 61 6c |s is equ|ally val|
|00003f60| 69 64 2e 0d 57 68 61 74 | 65 76 65 72 20 73 65 65 |id..What|ever see|
|00003f70| 6d 73 20 65 61 73 69 65 | 73 74 20 66 6f 72 20 61 |ms easie|st for a|
|00003f80| 20 70 61 72 74 69 63 75 | 6c 61 72 20 61 70 70 6c | particu|lar appl|
|00003f90| 69 63 61 74 69 6f 6e 20 | 69 73 20 74 68 65 20 6f |ication |is the o|
|00003fa0| 6e 65 20 74 6f 20 75 73 | 65 2e 0d 0d 0d 54 68 65 |ne to us|e....The|
|00003fb0| 72 65 20 69 73 20 61 20 | 73 74 61 6e 64 61 72 64 |re is a |standard|
|00003fc0| 20 73 65 74 20 6f 66 20 | 6d 65 73 73 61 67 65 73 | set of |messages|
|00003fd0| 20 70 61 73 73 65 64 20 | 74 6f 20 6f 62 6a 65 63 | passed |to objec|
|00003fe0| 74 73 2e 20 20 54 68 65 | 20 61 62 6f 76 65 20 6d |ts. The| above m|
|00003ff0| 65 73 73 61 67 65 20 69 | 73 20 6a 75 73 74 20 6f |essage i|s just o|
|00004000| 6e 65 20 6f 66 20 74 68 | 65 73 65 2e 0d 53 65 65 |ne of th|ese..See|
|00004010| 20 44 6f 54 72 65 65 4f | 62 6a 4d 65 74 68 6f 64 | DoTreeO|bjMethod|
|00004020| 20 66 6f 72 20 61 20 63 | 6f 6d 70 6c 65 74 65 20 | for a c|omplete |
|00004030| 6c 69 73 74 20 6f 66 20 | 73 74 61 6e 64 61 72 64 |list of |standard|
|00004040| 20 6d 65 73 73 61 67 65 | 73 20 61 6e 64 20 64 65 | message|s and de|
|00004050| 73 63 72 69 70 74 69 6f | 6e 73 2e 0d 0d 0d 08 0e |scriptio|ns......|
|00004060| 00 67 00 00 00 00 00 0b | 00 09 00 04 00 00 00 09 |.g......|........|
|00004070| 00 00 00 00 00 00 00 00 | 01 70 00 0b 00 09 00 04 |........|.p......|
|00004080| 05 00 00 09 00 00 00 00 | 00 00 00 00 01 7c 00 0b |........|.....|..|
|00004090| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000040a0| 01 81 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|000040b0| 00 00 00 00 01 8a 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|000040c0| 00 00 00 00 00 00 00 00 | 01 8f 00 0b 00 09 00 04 |........|........|
|000040d0| 05 00 00 09 00 00 00 00 | 00 00 00 00 01 98 00 0b |........|........|
|000040e0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000040f0| 01 9d 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004100| 00 00 00 00 01 a8 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004110| 00 00 00 00 00 00 00 00 | 01 ad 00 0b 00 09 00 04 |........|........|
|00004120| 05 00 00 09 00 00 00 00 | 00 00 00 00 01 b9 00 0b |........|........|
|00004130| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004140| 06 91 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004150| 00 00 00 00 06 9b 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004160| 00 00 00 00 00 00 00 00 | 0b 41 00 0b 00 09 00 04 |........|.A......|
|00004170| 05 00 00 09 00 00 00 00 | 00 00 00 00 0b 4c 00 0b |........|.....L..|
|00004180| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004190| 0b 61 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |.a......|........|
|000041a0| 00 00 00 00 0b 6c 00 0b | 00 09 00 04 00 00 00 09 |.....l..|........|
|000041b0| 00 00 00 00 00 00 00 00 | 0b 7e 00 0b 00 09 00 04 |........|.~......|
|000041c0| 05 00 00 09 00 00 00 00 | 00 00 00 00 0b 89 00 0b |........|........|
|000041d0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000041e0| 0b d1 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|000041f0| 00 00 00 00 0b dc 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004200| 00 00 00 00 00 00 00 00 | 0d 68 00 0b 00 09 00 04 |........|.h......|
|00004210| 05 00 00 09 00 00 00 00 | 00 00 00 00 0d 73 00 0b |........|.....s..|
|00004220| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004230| 11 a7 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004240| 00 00 00 00 11 b2 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004250| 00 00 00 00 00 00 00 00 | 11 f4 00 0b 00 09 00 04 |........|........|
|00004260| 05 00 00 09 00 00 00 00 | 00 00 00 00 11 ff 00 0b |........|........|
|00004270| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004280| 12 c8 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004290| 00 00 00 00 12 d4 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|000042a0| 00 00 00 00 00 00 00 00 | 12 e8 00 0b 00 09 00 04 |........|........|
|000042b0| 05 00 00 09 00 00 00 00 | 00 00 00 00 12 f4 00 0b |........|........|
|000042c0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000042d0| 13 05 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|000042e0| 00 00 00 00 13 11 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|000042f0| 00 00 00 00 00 00 00 00 | 13 56 00 0b 00 09 00 04 |........|.V......|
|00004300| 05 00 00 09 00 00 00 00 | 00 00 00 00 13 62 00 0b |........|.....b..|
|00004310| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004320| 13 ab 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004330| 00 00 00 00 13 b6 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004340| 00 00 00 00 00 00 00 00 | 13 c8 00 0b 00 09 00 04 |........|........|
|00004350| 05 00 00 09 00 00 00 00 | 00 00 00 00 13 d4 00 0b |........|........|
|00004360| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004370| 14 c4 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004380| 00 00 00 00 14 d0 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004390| 00 00 00 00 00 00 00 00 | 14 ec 00 0b 00 09 00 04 |........|........|
|000043a0| 05 00 00 09 00 00 00 00 | 00 00 00 00 14 f8 00 0b |........|........|
|000043b0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000043c0| 16 3c 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |.<......|........|
|000043d0| 00 00 00 00 16 47 00 0b | 00 09 00 04 00 00 00 09 |.....G..|........|
|000043e0| 00 00 00 00 00 00 00 00 | 19 23 00 0b 00 09 00 04 |........|.#......|
|000043f0| 05 00 00 09 00 00 00 00 | 00 00 00 00 19 2a 00 0b |........|.....*..|
|00004400| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004410| 19 2c 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |.,......|........|
|00004420| 00 00 00 00 19 33 00 0b | 00 09 00 04 00 00 00 09 |.....3..|........|
|00004430| 00 00 00 00 00 00 00 00 | 19 b3 00 0b 00 09 00 04 |........|........|
|00004440| 05 00 00 09 00 00 00 00 | 00 00 00 00 19 ba 00 0b |........|........|
|00004450| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004460| 1b e5 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |........|........|
|00004470| 00 00 00 00 1b ef 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00004480| 00 00 00 00 00 00 00 00 | 1c 4d 00 0b 00 09 00 04 |........|.M......|
|00004490| 05 00 00 09 00 00 00 00 | 00 00 00 00 1c 57 00 0b |........|.....W..|
|000044a0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000044b0| 20 76 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 | v......|........|
|000044c0| 00 00 00 00 20 80 00 0b | 00 09 00 04 00 00 00 09 |.... ...|........|
|000044d0| 00 00 00 00 00 00 00 00 | 21 54 00 0b 00 09 00 04 |........|!T......|
|000044e0| 05 00 00 09 00 00 00 00 | 00 00 00 00 21 5e 00 0b |........|....!^..|
|000044f0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004500| 22 3a 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |":......|........|
|00004510| 00 00 00 00 22 44 00 0b | 00 09 00 04 00 00 00 09 |...."D..|........|
|00004520| 00 00 00 00 00 00 00 00 | 25 b4 00 0b 00 09 00 04 |........|%.......|
|00004530| 05 00 00 09 00 00 00 00 | 00 00 00 00 25 c2 00 0b |........|....%...|
|00004540| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004550| 25 ee 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |%.......|........|
|00004560| 00 00 00 00 25 f9 00 0b | 00 09 00 04 00 00 00 09 |....%...|........|
|00004570| 00 00 00 00 00 00 00 00 | 26 27 00 0b 00 09 00 04 |........|&'......|
|00004580| 05 00 00 09 00 00 00 00 | 00 00 00 00 26 30 00 0b |........|....&0..|
|00004590| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000045a0| 26 6a 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |&j......|........|
|000045b0| 00 00 00 00 26 74 00 0b | 00 09 00 04 00 00 00 09 |....&t..|........|
|000045c0| 00 00 00 00 00 00 00 00 | 26 89 00 0b 00 09 00 04 |........|&.......|
|000045d0| 05 00 00 09 00 00 00 00 | 00 00 00 00 26 97 00 0b |........|....&...|
|000045e0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000045f0| 27 28 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |'(......|........|
|00004600| 00 00 00 00 27 36 00 0b | 00 09 00 04 00 00 00 09 |....'6..|........|
|00004610| 00 00 00 00 00 00 00 00 | 27 de 00 0b 00 09 00 04 |........|'.......|
|00004620| 05 00 00 09 00 00 00 00 | 00 00 00 00 27 e9 00 0b |........|....'...|
|00004630| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004640| 28 9e 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |(.......|........|
|00004650| 00 00 00 00 28 ac 00 0b | 00 09 00 04 00 00 00 09 |....(...|........|
|00004660| 00 00 00 00 00 00 00 00 | 28 b4 00 0b 00 09 00 04 |........|(.......|
|00004670| 05 00 00 09 00 00 00 00 | 00 00 00 00 28 bd 00 0b |........|....(...|
|00004680| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004690| 28 d3 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |(.......|........|
|000046a0| 00 00 00 00 28 e1 00 0b | 00 09 00 04 00 00 00 09 |....(...|........|
|000046b0| 00 00 00 00 00 00 00 00 | 29 26 00 0b 00 09 00 04 |........|)&......|
|000046c0| 05 00 00 09 00 00 00 00 | 00 00 00 00 29 2f 00 0b |........|....)/..|
|000046d0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000046e0| 29 71 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |)q......|........|
|000046f0| 00 00 00 00 29 7b 00 0b | 00 09 00 04 00 00 00 09 |....){..|........|
|00004700| 00 00 00 00 00 00 00 00 | 2e b1 00 0b 00 09 00 04 |........|........|
|00004710| 05 00 00 09 00 00 00 00 | 00 00 00 00 2e bd 00 0b |........|........|
|00004720| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004730| 34 6c 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |4l......|........|
|00004740| 00 00 00 00 34 78 00 0b | 00 09 00 04 00 00 00 09 |....4x..|........|
|00004750| 00 00 00 00 00 00 00 00 | 34 c0 00 0b 00 09 00 04 |........|4.......|
|00004760| 05 00 00 09 00 00 00 00 | 00 00 00 00 34 cc 00 0b |........|....4...|
|00004770| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004780| 36 23 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |6#......|........|
|00004790| 00 00 00 00 36 2a 00 0b | 00 09 00 04 00 00 00 09 |....6*..|........|
|000047a0| 00 00 00 00 00 00 00 00 | 36 41 00 0b 00 09 00 04 |........|6A......|
|000047b0| 05 00 00 09 00 00 00 00 | 00 00 00 00 36 48 00 0b |........|....6H..|
|000047c0| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000047d0| 36 54 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |6T......|........|
|000047e0| 00 00 00 00 36 60 00 0b | 00 09 00 04 00 00 00 09 |....6`..|........|
|000047f0| 00 00 00 00 00 00 00 00 | 37 d1 00 0b 00 09 00 04 |........|7.......|
|00004800| 05 00 00 09 00 00 00 00 | 00 00 00 00 37 d8 00 0b |........|....7...|
|00004810| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00004820| 38 7b 00 0b 00 09 00 04 | 05 00 00 09 00 00 00 00 |8{......|........|
|00004830| 00 00 00 00 38 87 00 0b | 00 09 00 04 00 00 00 09 |....8...|........|
|00004840| 00 00 00 00 00 00 00 00 | 3b e4 00 0b 00 09 00 04 |........|;.......|
|00004850| 05 00 00 09 00 00 00 00 | 00 00 00 00 3b f3 00 0b |........|....;...|
|00004860| 00 09 00 04 00 00 00 09 | 00 00 00 00 00 00 |........|...... |
+--------+-------------------------+-------------------------+--------+--------+